Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

A matriz de busca do MySQL adiciona valores duplicados?


Se você não especificar um tipo de resultado como um segundo parâmetro, mysql_fetch_array() será o padrão para MYSQL_BOTH (citando) :


Se não for isso que você quer, você tem que passar um segundo parâmetro para essa função, para indicar que tipo de resultado você quer.

Por exemplo, para obter apenas uma matriz associativa com nomes de colunas como chaves:
$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);


Como nota lateral:
  • Certifique-se de estar escapando das variáveis ​​que você injeta em sua consulta, para evitar SQL Injections , usando, por exemplo, mysql_real_escape_string()
  • Antes de usar mysql_fetch_array() , você deve testar se mysql_query() foi bem sucedido,
  • E, especialmente para um novo projeto, você deve usar mysqli ou PDO , e não o antigo mysql_* funções -- veja Escolhendo uma API .