Error in SQL syntax

Résolu
Vad -  
 Vad -
Bonjour,
voila j'utilise WAMP et pour apprendre le php, je code des pages pour interagir avec la base de données

J'ai donc fait un formulaire qui me renvoie des variables que j'envoie ensuite dans une requête SQL pour ajouter une ligne a ma base de données.
Seulement voila, j'ai une petite erreur :
"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1"

voici ma requête :
$connection = mysql_connect('localhost', '*****', '*****') or die ("Connection to SQL impossible");
$db = mysql_select_db('*****', $connection) or die ("Impossible to connect to Database");
$result = mysql_query("INSERT INTO `itec it inventory` VALUES (NULL, '$Type', '$Name', '$Serial', '$FA_Number', '$Country', '$Localisation', '$Responsable_Person', '$Purchasing_Date', '$Brand_Name', '$Model', '$Description', '$Support_Contract', '$Starting_Date', '$Expiration_Date', '$Support_Level');") or die(mysql_error());
$r = mysql_query($result) or die (mysql_error());
echo 'Vous avez enregistre'.mysql_num_rows($r).'nouvelle donnee!';
$connection = mysql_close();

si quelqu'un pouvait me donner un coup de main pour comprendre mon erreur, merci bien

Vad

3 réponses

Flachy Joe Messages postés 2303 Statut Membre 261
 
Salut,
Vérifie qu'aucune de tes variable ne contient de guillemets, passent les toutes à travers la moulinette de mysql_real_escape_string (cf https://www.php.net/manual/fr/function.mysql-real-escape-string.php ).

Par ailleurs, l'utilisation des guillemets double pour les chaînes de caractères est fortement déconseillée en PHP.
Il vaut mieux utiliser les guillemets simples, ta requête deviens :
$result = mysql_query('INSERT INTO `itec it inventory` VALUES (NULL, "'.$Type.'", "'.$Name.'", "'.$Serial.'", '.$FA_Number.'", "'.$Country.'", "'.$Localisation.'", "'.$Responsable_Person.'", "'.$Purchasing_Date.'", "'.$Brand_Name.'", "'.$Model.'", "'.$Description.'", "'.$Support_Contract.'", "'.$Starting_Date.'", "'.$Expiration_Date.'", "'.$Support_Level.'")') or die(mysql_error());
0
Christounet Messages postés 1266 Statut Membre 1 392
 
Bonjour,

Je pense que ton problème vient du fait que ta variable $result contient le résultat de ton INSERT (c-à-dire le nombre d'enregistrements) ce qui expliquerai le message d'erreur car, en effet tu fais d'abord
$result = mysql_query(......)
et la ligne suivante tu fais
$r = mysql_query($result)

A plus
0
Flachy Joe Messages postés 2303 Statut Membre 261
 
En effet c'est plutôt mysql_num_fields qu'il faut utiliser ici.
0
Vad
 
merci de vos reponses, sa marche parfaitement

Vad
0