WHERE-clausule

Status
Niet open voor verdere reacties.

haaswijk

Gebruiker
Lid geworden
23 mei 2006
Berichten
139
Hallo allemaal,

ik ben bezig een eenvoudige SQL-querie te schrijven:

SELECT *
FROM films
WHERE jaar = 1997

Opzich lijkt deze querie correct. Maar als ik de WHERE-clausule wil vervangen door een gebruikersafhankelijke invoer-waarde, wat moet er dan komen te staan?

Wordt dat zoiets als "&_jaar", ".$jaar" etc?


Alvast bedankt voor de reacties!
 
PHP:
 $query = "SELECT *
FROM films
WHERE jaar ='" . $jaar . "'";
Ik denk dat ie zo moet:).
 
Bedankt voor je snelle reactie!

Dus:

'" . $jaar . "'

Compleet met alle spaties, punten enkele / dubbele aanhalingstekens etc?
 
Ik heb hem in een inlogscript ook gebruikt, dus volgens mij is hij zo goed, met alle punten en aanhalingstekens:thumb:!
 
Houd er wel mee dat je alleen getallen toe laat, dus door een is_numeric() check te doen of er een intval() overeen te halen, of dat je de waardes escapet, zodat er geen rotzooi naar je database server gestuurd wordt.
 
is_numeric() is alleen niet de juiste functie, je bedoelt ctype_digit().
 
Mjah ik bedoelde in PHP... maar je kunt het idd ook in SQL controleren; tis vaak praktischer om het al eerder te doen :)

Maar is misschien een kwestie van smaak though.
 
Ik had het ook over PHP, en het is geen kwestie van smaak. is_numeric() laat ook +0123.45e6 toe, en dat is niks voor in de database.
 
Hm, die functie kende ik nog helemaal niet.

Dan is het wel een goed punt inderdaad, ik gebruik zelf meestal intval() om er een int van te maken maar met alleen is_numeric zou dat inderdaad nog wel eens mis kunnen gaan...

Thanks :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan