Gehele Database doorzoeken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Durk Pelsma

Durk Pelsma

18/02/2009 12:11:00
Quote Anchor link
|------------------------------------------------------------------------------|
|ID | Cd-Nummer | Tracknummer | artiest | titel | genre | cd-titel |
-----------------------------------------------------------------------------------|
| 1 | 16 | 1 | PITER WILKENS | DYKSKIEP | Frysk | Fryske Musyk |
-------------------------------------------------------------------------------|
| 2 | 16 | 2 | PITER WILKENS |Beppe | Frysk | Fryske Musyk |
--------------------------------------------------------------------------------

Zo ziet mijn database er uit.

Nou wil ik mijn hele database gaan doorzoeken op het woord Piter. Maar de hele database bevat: 11,015 rijen (dus nummers)
Dus ik wil graag via een code dat de zoekopdracht de artiest + titel + genre gaat na kijken als daar ook piter in staat.

Nou heb ik al wat dingen geprobeert, maar dan kan ik alleen op artiest zoeken of op titel, en ik moet de exacte naam overnemen.

Kan dit ook anders?
 
PHP hulp

PHP hulp

30/11/2024 11:15:08
 
Arjan Kapteijn

Arjan Kapteijn

18/02/2009 12:31:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT * FROM tabel WHERE artiest LIKE '%piter%' OR title LIKE '%piter%' OR genre LIKE '%piter%'
 
- SanThe -

- SanThe -

18/02/2009 12:33:00
Quote Anchor link
SELECT ..... FROM ...... WHERE ...... LIKE '%zoekopdracht%'
 
Durk Pelsma

Durk Pelsma

18/02/2009 12:57:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sql = "SELECT * FROM collectie WHERE artiest LIKE '%$HTTP_POST_VARS[zoekterm]%' OR titel LIKE '%$HTTP_POST_VARS[zoekterm]%' OR genre LIKE '%$HTTP_POST_VARS[zoekterm]%'";


Met dit is het gelukt:)
Bedankt
 
Arjan Kapteijn

Arjan Kapteijn

18/02/2009 13:04:00
Quote Anchor link
Beste,

Jouw code is erg onveilig...

1) Gebruik $_POST
2) Haal je variabelen buiten de quotes
3) Beveilig je input, ik kan nu je db leeggooien.
Gewijzigd op 01/01/1970 01:00:00 door Arjan Kapteijn
 
- SanThe -

- SanThe -

18/02/2009 13:08:00
Quote Anchor link
$HTTP_POST_VARS[zoekterm] is erg antiek en heeft niet een correcte syntax.
Verder is het nooit verstandig om input van een gebruiker direct in een query te stoppen.
Gebruik in plaats van dit
LIKE '%$HTTP_POST_VARS[zoekterm]%'
dit:
LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%'
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Durk Pelsma

Durk Pelsma

18/02/2009 13:16:00
Quote Anchor link
Bedankt voor jullie insteek.

Ik had deze code gevonden op internet en beetje bewerkt.

Ik heb het stukje van SanThe er nu in:)

Bedankt!
 
- SanThe -

- SanThe -

18/02/2009 13:19:00
Quote Anchor link
Durk Pelsma schreef op 18.02.2009 13:16:
Ik heb het stukje van SanThe er nu in:)

Uiteraard wél bij alle LIKE's neem ik aan. ;-)
 
Durk Pelsma

Durk Pelsma

18/02/2009 13:21:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sql = "SELECT * FROM collectie WHERE artiest LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%' OR titel LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%' OR genre LIKE '%" . mysql_real_escape_string($_POST['zoekterm']) . "%'";


:)
 
- SanThe -

- SanThe -

18/02/2009 13:25:00
Quote Anchor link
Okee. ;)
Je zou niet de eerste zijn die dat dan alleen op de eerste LIKE toepast. Vandaar dat ik het toch maar even meld.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.