Error in SQL syntax
Résolu
Vad
-
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
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
A voir également:
- Error in SQL syntax
- Deco in paris avis ✓ - Forum Consommation & Internet
- In da place - Forum Mail
- Navigation in private - Guide
- Network error iptv - Forum Réseaux sociaux
- Dc in - Forum Disque dur / SSD
3 réponses
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());
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());
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
A plus
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