Je viens d'implémenter mysql_real_escape_string() et maintenant mon script n'écrira pas dans la base de données. Tout a bien fonctionné avant d'ajouter mysql_real_escape_string():Le formulaire PHP ne sera pas publié
Des idées?
$name = mysql_real_escape_string($_POST['name']);
$description = mysql_real_escape_string($_POST['description']);
$custid = mysql_real_escape_string($_SESSION['customerid']);
mysql_send("INSERT INTO list
SET id = '',
name = '$name',
description = '$description',
custid = '$custid' ");
Qu'est-ce que mysql_send? Y a-t-il une erreur signalée? À quoi ressemble la requête avant qu'elle ne soit envoyée à mysql (essayez d'en faire écho)? – blockhead
Astuce de débogage: Placez l'instruction SQL dans une variable, c'est-à-dire '$ sql =" INSERT INTO liste SET id = '', name = '$ name' "' etc ... puis 'echo $ sql' (ou' die ($ sql) '). Cela peut faire la lumière sur ce qui cause le problème. Aussi, comment vous connectez-vous à la base de données, vous-même ou à travers une sorte d'API tierce? Dans ce dernier cas, il existe peut-être une méthode que l'API recommande pour échapper des données. – webbiedave