Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > PHP > PHP & SGBD > PHP & MySQL

PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.

Réponse
 
Outils de la discussion
Vieux 09/05/2006, 15h48   #1 (permalink)
Membre du Club
 
Avatar de chobol
 
Date d'inscription: octobre 2003
Localisation: Trouville sur bled (70)
Messages: 107
Par défaut Problème avec une requête SQL

Bonjour,

J'ai un petit problème avec une requete SQL dans une appli de gestion de parc informatique en php.
Je crée la requete a partir du programme en php car la structure de la base peut évoluer (la structure est contenue dans un fichier xml)
donc j'aimerais savoir (si vous pouvez m'aider) pourquoi ces 3 requetes fonctionnent très bien :

Code :
 
$ReqId="INSERT INTO $Table(IdMachine)VALUES('$IdMachine')";
if(!mysql_query(str_replace("<br>","",$ReqId)))echo "Requete Id Invalide!<br>";
 
 
$ReqSaisieMan="INSERT INTO $Table($ChampSQL)VALUES(' ')";
if(!mysql_query(str_replace("<br>","",$ReqSaisieMan))) echo "Requete Saisie Man Invalide<br>";
 
 
$ReqVers="INSERT INTO $Table(Version)VALUES('1.01A')";
if(!mysql_query(str_replace("<br>","",$ReqVers)))echo "Requete Vers Invalide<br>";
 
alors que celle ci ne marche pas
Code :
 
$ReqInfo="INSERT INTO $Table($ChampSQL)VALUES('$Info')";
if(!mysql_query(str_replace("<br>","",$ReqInfo)))echo "Requete Info Invalide<br>";
 
J'espere que j'ai été suffisament clair!
si ce n'est pas le cas je peux vous donner plus de précisions

Je vous remercie d'avance pour votre aide
chobol est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/05/2006, 15h55   #2 (permalink)
Rédacteur
 
Avatar de Swoög
 
Date d'inscription: janvier 2003
Localisation: Montréal [NDG] (Québec, Canada)
Âge: 21
Messages: 6 099
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
Par défaut

que donne un echo sur $ReqInfo...

qu'est-ce que tu enteds par ça marche pas ? essaie de faire un appel à mysql_error()
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/05/2006, 16h08   #3 (permalink)
Membre du Club
 
Avatar de chobol
 
Date d'inscription: octobre 2003
Localisation: Trouville sur bled (70)
Messages: 107
Par défaut

alors echo $ReqInfo donne (par exemple)
Code :
INSERT INTO base(Nom)VALUES('AQUARIUM2')
et mysql_error retourne
Code :
Duplicate entry '' for key 1
 
chobol est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/05/2006, 16h10   #4 (permalink)
Membre émérite
 
Date d'inscription: juillet 2005
Localisation: Ouagadougou
Âge: 25
Messages: 784
Envoyer un message via AIM à ouatmad Envoyer un message via MSN à ouatmad Envoyer un message via Yahoo à ouatmad
Par défaut

pbm de doublon; tu essais d'inserer une valeur supposée unique deux fois
__________________
Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789
ouatmad est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/05/2006, 16h10   #5 (permalink)
Rédacteur
 
Avatar de Swoög
 
Date d'inscription: janvier 2003
Localisation: Montréal [NDG] (Québec, Canada)
Âge: 21
Messages: 6 099
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
Par défaut

tu as une clé unique pour la quelle tu spécifies deux fois la même valeur...
ça dépend de la structure de ta table
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/05/2006, 16h16   #6 (permalink)
Membre du Club
 
Avatar de chobol
 
Date d'inscription: octobre 2003
Localisation: Trouville sur bled (70)
Messages: 107
Par défaut

oki merci je vais regarder de ce coté là!
chobol est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 09/05/2006, 16h40   #7 (permalink)
Membre du Club
 
Avatar de chobol
 
Date d'inscription: octobre 2003
Localisation: Trouville sur bled (70)
Messages: 107
Par défaut

alors en fait comme un gros nOOb que je suis j'essayais de creer chaque entree de ma base en plusieurs fois

donc je pense qu'en faisant la requete de creation de chaque ligne en une seule fois ça devrait marcher un peu mieux!
il ne me reste plus qu'a trouver comment "construire" la requete au fur et a mesure de l'execution de ma fonction...
car le problème est que la base doit pouvoir etre modifier facilement a partir de 2 fichiers xml l'un contenant la structure de la base, l'autre indiquant ou aller recuperer les données (dans des fichiers CSV)
(bah oui si la base n'était pas censée etre evolutive ça serait nettement moins drole)
chobol est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/05/2006, 08h53   #8 (permalink)
Membre du Club
 
Avatar de chobol
 
Date d'inscription: octobre 2003
Localisation: Trouville sur bled (70)
Messages: 107
Par défaut

Re-Salut!

Alors apres quelques modif de mon code je genere une requete SQL qui me semble correcte mais mysql_error me dit
Citation:
You have an error in your SQL syntax
donc voici ma requete (enfin une de mes requetes)
Code :
 
"INSERT INTO base(Version ,IdMachine,Nom,Etat) VALUES('1.01A','2004#0001','AQUARIUM2',' ')"
 
 
d'avance merci de votre aide
chobol est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/05/2006, 08h59   #9 (permalink)
Rédacteur
 
Avatar de Swoög
 
Date d'inscription: janvier 2003
Localisation: Montréal [NDG] (Québec, Canada)
Âge: 21
Messages: 6 099
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
Par défaut

tu as pas un peu plus complet comme message, en théorie il donne l'emplacement de l'erreur...
ta requête a l'air correcte, essaie la dans phpMyAdmin par exemple, au pire, la seul erreur que je pourrais voir, c'est l'espace manquant entre VALUES et (
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/05/2006, 09h31   #10 (permalink)
Membre du Club
 
Avatar de chobol
 
Date d'inscription: octobre 2003
Localisation: Trouville sur bled (70)
Messages: 107
Par défaut

Alors le message d'erreur complet c'est
Citation:

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 '"INSERT INTO base (Version ,IdMachine,Nom,Etat) VALUES ('1.01A','2004#0001','AQU' at line 1
et dans phpmyadmin ça dit
Citation:
Vous devez choisir au moins une colonne à afficher
et pour ce qui est de l'espace ça ne change rien

je ne comprend plus rien!
chobol est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/05/2006, 09h43   #11 (permalink)
Membre éprouvé
 
Date d'inscription: avril 2006
Localisation: Belgique
Messages: 432
Par défaut

Salut,

à voir ton message d'erreur, je dirais que tu as laissé un " juste devant le INSERT.
bkill est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/05/2006, 11h52   #12 (permalink)
Membre du Club
 
Avatar de chobol
 
Date d'inscription: octobre 2003
Localisation: Trouville sur bled (70)
Messages: 107
Par défaut

ok merci !
en fait j'étais persuadé qu'il fallait mettre la requete entre "
donc ça a l'air de marcher un peu mieux mais j'ai toujours des erreurs je me pencherai là dessus après le repas!

encore merci a tous et bon ap.
chobol est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 11/05/2006, 12h29   #13 (permalink)
Rédacteur
 
Avatar de Swoög
 
Date d'inscription: janvier 2003
Localisation: Montréal [NDG] (Québec, Canada)
Âge: 21
Messages: 6 099
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
Par défaut

Citation:
Envoyé par chobol
en fait j'étais persuadé qu'il fallait mettre la requete entre "
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation
NEWS PHPFAQ PHPCOURS PHPSOURCES PHPLIVRES PHPSCRIPTS PHPOUTILS PHPCOMPARATIFSPHP TVZend Framework

Réponse

Précédent   Forum des développeurs > PHP > PHP & SGBD > PHP & MySQL



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide