Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
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 06/03/2011, 17h29   #1
Invité de passage
 
Développeur Web
Inscription : avril 2010
Messages : 5
Détails du profil
Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2010
Messages : 5
Points : 1
Points : 1
Par défaut execution de requete avec mysql_query() échouée

j'essaie d'executer deux requetes UPDATE et INSERT en meme temps vers ma bd mysql via la fonction mysql_query(), mais je reçois l'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 'INSERT INTO recu (id,num_recu,cin,nom,prenom,date_recu,mode_paiem,paye_par,objet' at line 1

Or si j'execute la requete directement depuis mon editeur de requetes mysql ça marche sans problème.

voici mon code php:

Code :
1
2
3
4
5
$requete1 = "UPDATE cheque SET date_remplace='".$date_sys."', etat_chq = '".$_POST['options_message']."' WHERE num_chq='".$num_chq."'; ";
$requete2 = "INSERT INTO recu (id,num_recu,cin,nom,prenom,date_recu,mode_paiem,paye_par,objet,montant,num_chq,compte_compta,num_client,etat,user,num_recu_init) VALUES ('$nv_id','$nv_num_recu','$cin','$prenom','$nom','$date_recu','$mode_paiem','$paye_par','$objet','$montant','$nv_num_chq','-','$num_client','nnvalide','$user','$num_recu'); ";
 
$requete = $requete1 . $requete2 . $requete3 ;
$resultat = mysql_query($requete) or die(mysql_error());
merci pour votre aide les amis.

easyPHP 3.0
PHP 5.2.8
mySQL 5.5.9
reddev26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2011, 17h37   #2
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 270
Points : 7 270
Bonsoir et Bienvenue sur Developpez .

1- Il ne faut pas mettre un ";" dans une requête à exécuter dans mysql_query().
2- Il faut lancer les requêtes une par une.
3- $requete3 existe?

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2011, 17h54   #3
Invité de passage
 
Développeur Web
Inscription : avril 2010
Messages : 5
Détails du profil
Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2010
Messages : 5
Points : 1
Points : 1
j'ai trouvé la solution,
il fallait séparer les deux requetes et appeller mysql_query pour chacune des deux genre:
Code :
1
2
3
 
$resultat = mysql_query($requete1) or die(mysql_error()) ;
$resultat = mysql_query($requete2) or die(mysql_error()) ;
reddev26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2011, 17h58   #4
Invité de passage
 
Développeur Web
Inscription : avril 2010
Messages : 5
Détails du profil
Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2010
Messages : 5
Points : 1
Points : 1
Citation:
Envoyé par andry.aime Voir le message
Bonsoir et Bienvenue sur Developpez .

1- Il ne faut pas mettre un ";" dans une requête à exécuter dans mysql_query().
2- Il faut lancer les requêtes une par une.
3- $requete3 existe?

A+.
oops g pas raffraichi la page avant de poster ma réponse.
oui $requete3 existe dans un test que g pas mentionné.
Merci pour les conseils.
reddev26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2011, 18h08   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 465
Points : 8 465
il ne faut pas utiliser or die pour gérer les erreurs mysql, il faut activer le trace mode
Code :
ini_set('mysql.trace_mode', true);
__________________
http://blog.stealth35.com/
stealth35 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 +2. Il est actuellement 17h39.


 
 
 
 
Partenaires

Hébergement Web