sql >> Database teknologi >  >> RDS >> Mysql

MySQL hente array tilføjer duplikerede værdier?

Hvis du ikke angiver en resultattype som en anden parameter, mysql_fetch_array() vil som standard være MYSQL_BOTH (citat) :


Hvis dette ikke er, hvad du ønsker, skal du videregive en anden parameter til den funktion for at angive, hvilken type resultater du ønsker.

For eksempel kun at få et associativt array med kolonnenavne som nøgler :

$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);


Som en sidenote:

  • Sørg for, at du undslipper de variabler, du indsætter i din forespørgsel, for at forhindre SQL-injektioner , ved at bruge for eksempel mysql_real_escape_string()
  • Før du bruger mysql_fetch_array() , bør du teste om mysql_query() lykkedes,
  • Og især til et nyt projekt bør du bruge mysqli eller PDO , og ikke den gamle mysql_* funktioner -- se Valg af en API .


  1. SQL genkender ikke kolonnealias i where-sætning

  2. Boganmeldelse:Benjamin Nevarez:Query Tuning &Optimization

  3. Hvilken datatype er bedst til telefonnummer i MySQL, og hvad skal Java-typekortlægning være for det?

  4. Hvordan kan jeg bruge ADO.NET DbProviderFactory med MySQL?