sql >> Database >  >> RDS >> Mysql

MySQL fetch-array voegt dubbele waarden toe?

Als u geen resultaattype opgeeft als tweede parameter, mysql_fetch_array() wordt standaard MYSQL_BOTH (citaat) :


Als dit niet is wat je wilt, moet je een tweede parameter aan die functie doorgeven om aan te geven welk type resultaten je wilt.

Om bijvoorbeeld alleen een associatieve array te krijgen met kolomnamen als sleutels:

$result = mysql_query("SELECT session FROM users WHERE username='$cookie[username]' AND first_name='$cookie[first_name]' AND last_name='$cookie[last_name]' AND campus='$cookie[campus]' AND id='$cookie[id]'");
$user = mysql_fetch_array($result, MYSQL_ASSOC);


Als een kanttekening:

  • Zorg ervoor dat u ontsnapt aan de variabelen die u in uw zoekopdracht injecteert, om SQL-injecties , met bijvoorbeeld mysql_real_escape_string()
  • Voordat u mysql_fetch_array() gebruikt , moet u testen of mysql_query() was succesvol,
  • En, vooral voor een nieuw project, moet je mysqli gebruiken of BOB , en niet de oude mysql_* functies -- zie Een API kiezen .


  1. MySQL ophalen met Kivy

  2. Kan verificatieplug-in 'caching_sha2_password' niet laden

  3. MySQL Match-probleem

  4. Mysql Database kopiëren van server naar server in één opdracht