[SQL, PHP] insert into avec mssql [Résolu/Fermé]

Signaler
Messages postés
710
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
10 juin 2014
-
Messages postés
710
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
10 juin 2014
-
Bonjour,

je suis entrain de monter ma 1ere base mssql, je m'en sort pas trop mal jusque maintenant. je me connecte dessus avec PHP sans soucis, j'arrive a exécuter certaine requête, mais pas de requête d'écriture dans une table. je vous met mon code :
$servername = "SERINT\SQLEXPRESS";
	$user = "un user ;)";
	$pass = "un pass ;)";
	$data = "suivheure"; // Nommer ici la base de données
	$connect = mssql_connect($servername, $user, $pass)
	  or die("erreur de connexion mssql");
	$db = mssql_select_db($data, $connect)
	  or die("Sélection de la base impossible !");
	$nom = $_POST['nom'];
	$prenom = $_POST['prenom'];
	$visa = $_POST['visa'];
	$service = $_POST['service'];
	$activite = $_POST['activite'];
	$requetesql = "INSERT INTO [suivheure].[dbo].[utilisateur] VALUES '$nom','$prenom','$visa','$service','$activite','0'";
	$resultatsql = mssql_query ($requetesql, $connect) or die("erreur de requête mssql");;
	echo $requetesql;
	echo "<center>ajout de : <br />nom : ".$_POST['nom']."<br /> prénom : ".$_POST['prenom']."<br/> Visa : ".$_POST['visa']."<br /> Service : ".$_POST['service']."<br /> Activité : ".$_POST['activite']."<br />Réussis</center>";
	mssql_close($connect);


j'obtiens une erreur :

Warning: mssql_query() [function.mssql-query]: message: Syntaxe incorrecte vers 'courtat'. (severity 15) in C:\xampp\htdocs\suiv'heure\utilisateur\index.php on line 45

Warning: mssql_query() [function.mssql-query]: Query failed in C:\xampp\htdocs\suiv'heure\utilisateur\index.php on line 45
erreur de requête mssql


la ligne 45 est celle ou est exécuté le mssql_query.
si vous trouvez quel peut être l'erreur... sachant que j'ai essayer avec une autre requête :

$version = mssql_query('SELECT @@VERSION');
$row = mssql_fetch_array($version);
echo $row[0];


la, ça marche. donc le problème viens bien de la requête. lorsque je l'affiche, j'ai bien un

INSERT INTO [suivheure].[dbo].[utilisateur] VALUES 'unnom','zimeau','jco','info','nop','0'


donc une syntaxe correcte.
merci d'avance!

3 réponses

Messages postés
459
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
15 juin 2018
106
INSERT INTO utilisateur ...................
Messages postés
710
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
10 juin 2014
113
les 2 font la même chose...
j'ai une progretion, en précisant un peu la requete, j'ai pas le meme erreur. la requete est
INSERT INTO [suivheure].[dbo].[utilisateur] ([nom] ,[prenom] ,[visa] ,[service] ,[desactive]) VALUES (unnom ,zimeau ,jco ,info ,0)


j'ai comme erreur :

Warning: mssql_query() [function.mssql-query]: message: Nom de colonne non valide : 'courtat'. (severity 16) in C:\xampp\htdocs\suiv'heure\utilisateur\index.php on line 56
Warning: mssql_query() [function.mssql-query]: message: Nom de colonne non valide : 'julien'. (severity 16) in C:\xampp\htdocs\suiv'heure\utilisateur\index.php on line 56
Warning: mssql_query() [function.mssql-query]: message: Nom de colonne non valide : 'jco'. (severity 16) in C:\xampp\htdocs\suiv'heure\utilisateur\index.php on line 56
Warning: mssql_query() [function.mssql-query]: message: Nom de colonne non valide : 'info'. (severity 16) in C:\xampp\htdocs\suiv'heure\utilisateur\index.php on line 56
Warning: mssql_query() [function.mssql-query]: Query failed in C:\xampp\htdocs\suiv'heure\utilisateur\index.php on line 56

il met des erreurs pour tout mes champs, sauf pour le 0. les type des champ sont les suivant :
nom : ntext, prenom : nchar(10), visa : nchar(3), service : nvarchar(50), desactive : bit
j'avoue ne rien connaitre aux champ, je me suis donc inspiré de https://codes-sources.commentcamarche.net/
malgré ça, sa ne passe pas :s
Messages postés
710
Date d'inscription
jeudi 19 avril 2007
Statut
Membre
Dernière intervention
10 juin 2014
113
problème résolue. mon code PHP était
sql = "INSERT INTO [suivheure].[dbo].[utilisateur]([nom],[prenom],[visa],[service],[desactive])VALUES($nom,$prenom,$visa,$service,0)";
j'avais bien ma requete quand je l'affichais mais ne marchais pas avec mssql. en changeant avec :
sql = "INSERT INTO [suivheure].[dbo].[utilisateur]([nom],[prenom],[visa],[service],[desactive])VALUES('$nom','$prenom','$visa','$service',0)";
a l'affichage, la requête est la même, mais mssql le prend!