Avatar billede compac Seniormester
06. november 2020 - 15:06 Der er 6 kommentarer

Søge-udtryk i php-MYSQLI formular.

Jeg har en formular med et søgefelt, hvor jeg udtrækker fra begyndelsen af DB-feltet.
Feltet  indeholder alle 2 ord med en streg imellem:
F.eks:
"Kirkerup - Rynkeby"
"Tokkekøb - Kisserup"
Forespørgslen ser således ud:
  $Name = $_POST['search'];
    $query = "SELECT * FROM vandreture where titel LIKE '$Name%' ORDER BY titel ASC";
Hvordan får jeg udbygget det så ord der begynder med søgeordet kommer med? Dvs. Hvis jeg søger på 'K' skal kun "Kirkerup" og "Kisserup" med.
Avatar billede arne_v Ekspert
06. november 2020 - 15:24 #1
proev:

... titel REGEXP '[[:<:]]k'
Avatar billede arne_v Ekspert
06. november 2020 - 15:26 #2
ved meget ny MySQL version:

... title REGEXP '\\bk'
Avatar billede Slater Ekspert
06. november 2020 - 16:02 #3
Igen er man lige nødt til at nævne, at din kode er pivåben for SQL injections. Det er strengt fy-fy at bruge data som brugeren har direkte kontrol over, som f.eks. $_POST og $_GET variabler, direkte i SQL queries på den måde. Det er kun et spørgsmål om kort tid før du mister alle dine data, hvis du stiller det tilgængeligt på nettet.
Avatar billede arne_v Ekspert
06. november 2020 - 16:36 #4
Helt enig.

prepare !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Avatar billede compac Seniormester
06. november 2020 - 20:44 #5
Uha!,! Lyder ikke godt. Hvor finder jeg en artikel, beskrivelse eller andet så jeg kan blive klogere?
Tak for svaret I øvrigt.
Avatar billede arne_v Ekspert
06. november 2020 - 21:07 #6
Enhver PHP database tutorial med resepkt for sig selv bør nævne prepare.

Hvis jeg må henvise til noget jeg selv har skrevet:

https://www.vajhoej.dk/arne/articles/prepparam.html#prob
https://www.vajhoej.dk/arne/articles/prepparam.html#right_ex
https://www.vajhoej.dk/arne/articles/phpdb.html#mysqli_p
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester