Mysql
 sql >> Base de données >  >> RDS >> Mysql

Erreur mysql_fetch_assoc() lorsque les données du champ mysql sont modifiées

Vous ne faites aucune vérification d'erreur dans votre requête, il n'est donc pas étonnant qu'elle se brise si la requête échoue. La façon d'ajouter une vérification d'erreur appropriée est décrite dans le manuel sur mysql_query() ou dans ce question de référence.

Exemple :

$result = mysql_query($SQL);

if (!$result)
 { trigger_error("mySQL error: ".mysql_error());
   die(); }

votre requête est interrompue car vous n'enveloppez pas l'entrée entre guillemets. Vous pouvez éviter* les guillemets uniquement pour les nombres entiers (qui 62ac1175 n'est pas). Essayez

$SQL = "SELECT * FROM tb_employees WHERE URL_ID = '$URL_ID'";

De plus, le code que vous affichez est vulnérable à injection SQL . Utilisez la méthode d'assainissement appropriée de votre bibliothèque (comme mysql_real_escape_string() pour la bibliothèque mysql classique que vous utilisez), ou passez à PDO et aux instructions préparées.

Dans votre code, cela ressemblerait à ceci :Au lieu de

$URL_ID = $_GET["a"];

faire

$URL_ID = mysql_real_escape_string($_GET["a"]);

* cependant, si vous évitez les guillemets, mysql_real_escape_string() ne fonctionnera pas et vous devez vérifier manuellement si le paramètre est réellement un entier.