Précédent   Forum des professionnels en informatique > 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.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 09/05/2006, 15h48   #1
Membre régulier
 
Avatar de chobol
 
Inscription : octobre 2003
Messages : 115
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 115
Points : 80
Points : 80
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 :
1
2
3
4
5
6
7
8
9
10
11
 
$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 :
1
2
3
 
$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 00
Vieux 09/05/2006, 15h55   #2
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 052
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 052
Points : 7 142
Points : 7 142
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
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 00
Vieux 09/05/2006, 16h08   #3
Membre régulier
 
Avatar de chobol
 
Inscription : octobre 2003
Messages : 115
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 115
Points : 80
Points : 80
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 00
Vieux 09/05/2006, 16h10   #4
Membre émérite
 
Inscription : juillet 2005
Messages : 775
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : juillet 2005
Messages : 775
Points : 858
Points : 858
Envoyer un message via AIM à ouatmad Envoyer un message via MSN à ouatmad Envoyer un message via Yahoo à ouatmad
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 00
Vieux 09/05/2006, 16h10   #5
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 052
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 052
Points : 7 142
Points : 7 142
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
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 00
Vieux 09/05/2006, 16h16   #6
Membre régulier
 
Avatar de chobol
 
Inscription : octobre 2003
Messages : 115
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 115
Points : 80
Points : 80
oki merci je vais regarder de ce coté là!
chobol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2006, 16h40   #7
Membre régulier
 
Avatar de chobol
 
Inscription : octobre 2003
Messages : 115
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 115
Points : 80
Points : 80
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 00
Vieux 11/05/2006, 08h53   #8
Membre régulier
 
Avatar de chobol
 
Inscription : octobre 2003
Messages : 115
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 115
Points : 80
Points : 80
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 :
1
2
 
"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 00
Vieux 11/05/2006, 08h59   #9
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 052
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 052
Points : 7 142
Points : 7 142
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
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 00
Vieux 11/05/2006, 09h31   #10
Membre régulier
 
Avatar de chobol
 
Inscription : octobre 2003
Messages : 115
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 115
Points : 80
Points : 80
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 00
Vieux 11/05/2006, 09h43   #11
Membre expérimenté
 
Développeur Web
Inscription : avril 2006
Messages : 430
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 430
Points : 538
Points : 538
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 00
Vieux 11/05/2006, 11h52   #12
Membre régulier
 
Avatar de chobol
 
Inscription : octobre 2003
Messages : 115
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 115
Points : 80
Points : 80
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 00
Vieux 11/05/2006, 12h29   #13
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 052
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 052
Points : 7 142
Points : 7 142
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
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 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 01h38.


 
 
 
 
Partenaires

Hébergement Web