login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[php]mysql probleempje ANDANDOR

Offline glenn2009 - 06/07/2008 14:55
Avatar van glenn2009Nieuw lid
  1. $sql = mysql_query("SELECT * FROM buddy_list WHERE gebruiker='". $_GET['user'] ."' OR vriend='". $_GET['user'] ."' AND status='geaccepteerd'");


waarom werkt dit niet? Aangezien hij ook de status='onbeslist' pakt...

mvg, Glenn2009

3 antwoorden

Gesponsorde links
Offline Gerard - 06/07/2008 19:09
Avatar van Gerard Ouwe rakker
  1. $selectBuddies = mysql_query("SELECT *
  2. FROM buddy_list
  3. WHERE (gebruiker = '" . mysql_real_escape_string($_GET['user']) . "'
  4. OR vriend = '" . mysql_real_escape_string($_GET['user']) . "')
  5. AND status = 'geaccepteerd'");


Je moet wel zorgen dat je de SQL laat weten wat de prioriteiten zijn, net als je dat zou doen bij PHP. Verder moet je even gebruik maken van duidelijke variabelenamen en van PHP.net: mysql_real_escape_string om SQJ Injection te voorkomen.
Offline TotempaaltJ - 07/07/2008 12:21
Avatar van TotempaaltJ PHP interesse Proximus, mysql_real_escape_string is nergens voor nodig als het maar getallen zijn. (wat je kan checken met PHP.net: is_numerical
Offline Gerard - 07/07/2008 16:02
Avatar van Gerard Ouwe rakker
Bigboss schreef:
Proximus, mysql_real_escape_string is nergens voor nodig als het maar getallen zijn. (wat je kan checken met PHP.net: is_numerical. 


Ik heb ook implementaties gezien waarbij men niet met een gebruikersnaam werkte maar met een userid. Tevens maakt de topic-starter op dit moment ook gebruik van ' en ' wat mij weer het gevoel geeft dat het hier gaat om een string en geen integer, bij een integer is ' en ' niet verplicht. Vandaar ook de PHP.net: mysql_real_escape_string en niet PHP.net: intval.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.23s