[SQL, PHP] insert into avec mssql

Résolu/Fermé
zimeau Messages postés 711 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 10 juin 2014 - 9 déc. 2010 à 12:05
zimeau Messages postés 711 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 10 juin 2014 - 9 déc. 2010 à 14:58
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!
A voir également:

3 réponses

Lord Zero Messages postés 459 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 15 juin 2018 115
9 déc. 2010 à 13:11
INSERT INTO utilisateur ...................
0
zimeau Messages postés 711 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 10 juin 2014 117
9 déc. 2010 à 14:04
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
0
zimeau Messages postés 711 Date d'inscription jeudi 19 avril 2007 Statut Membre Dernière intervention 10 juin 2014 117
Modifié par zimeau le 9/12/2010 à 14:58
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!
0