Problème requête SQL/php
Fermé
JBB92
Messages postés
29
Date d'inscription
jeudi 16 octobre 2008
Statut
Membre
Dernière intervention
22 juin 2010
-
16 oct. 2008 à 14:02
JBB92 Messages postés 29 Date d'inscription jeudi 16 octobre 2008 Statut Membre Dernière intervention 22 juin 2010 - 17 oct. 2008 à 14:29
JBB92 Messages postés 29 Date d'inscription jeudi 16 octobre 2008 Statut Membre Dernière intervention 22 juin 2010 - 17 oct. 2008 à 14:29
A voir également:
- Problème requête SQL/php
- Easy php - Télécharger - Divers Web & Internet
- Blob sql ✓ - Forum Webmastering
- Il y a eu un problème avec cette requête. nous travaillons à sa résolution aussi vite que nous le pouvons. - Forum Facebook
- Erreur lors de l'envoi de la requête facebook marketplace - Forum Facebook
- Logiciel sql - Télécharger - Bases de données
4 réponses
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
16 oct. 2008 à 14:22
16 oct. 2008 à 14:22
Salut,
je t'ai un peu modifié en remplaçant les ' par des "
et vu une erreur tu avait $sq1 au lieu de $sql (un au lieu de l)
je t'ai un peu modifié en remplaçant les ' par des "
et vu une erreur tu avait $sq1 au lieu de $sql (un au lieu de l)
if ((isset($_POST['A']) && !empty($_POST['A']))) { $sql = "UPDATE prf_comp SET situation='".mysql_escape_string($_POST['situation'])."', precision='".mysql_escape_string($_POST['precision'])."', cprimaire='".mysql_escape_string($_POST['cprimaire'])."', ccollege='".mysql_escape_string($_POST['ccollege'])."', clycee='".mysql_escape_string($_POST['clycee'])."', csuperieur='".mysql_escape_string($_POST['csuperieur'])."', mf='".mysql_escape_string($_POST['mf'])."', A='".mysql_escape_string($_POST['A'])."', rmail='".mysql_escape_string($_POST['rmail'])."' WHERE id_profco='".$id."'"; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); //matiere 1 if (isset($_POST["mp1"])) { $sq2 = "UPDATE prf_comp SET mp1='".mysql_escape_string($_POST['matiere1'])."' WHERE id_profco='".$id."'"; mysql_query($sq2) or die('Erreur SQL !'.$sq2.'<br />'.mysql_error()); }
JBB92
Messages postés
29
Date d'inscription
jeudi 16 octobre 2008
Statut
Membre
Dernière intervention
22 juin 2010
16 oct. 2008 à 14:55
16 oct. 2008 à 14:55
Bonjour,
Merci Alain_42, j'ai en effet modifié la partie. Je viens de tester uniquement la première requête, et déjà elle disfonctionne. La voici :
Le message d'erreur est le suivant :
Erreur SQL !UPDATE prf_comp SET situation="test", precision="123", cprimaire="cprimaire", ccollege="ccollege", clycee="", csuperieur="", matiereprof="", A="test", rmail="oui" WHERE id_profco="1"
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 'precision="123", cprimaire="cprimaire", ccollege="ccollege", clycee="", csuperie' at line 1
Merci Alain_42, j'ai en effet modifié la partie. Je viens de tester uniquement la première requête, et déjà elle disfonctionne. La voici :
connexion(); if( isset($_POST['Submit']) ) { if ((isset($_POST['A']) && !empty($_POST['A']))) { $sql = 'UPDATE prf_comp SET situation="'.mysql_escape_string($_POST['situation']).'", precision="'.mysql_escape_string($_POST['precision']).'", cprimaire="'.mysql_escape_string($_POST['cprimaire']).'", ccollege="'.mysql_escape_string($_POST['ccollege']).'", clycee="'.mysql_escape_string($_POST['clycee']).'", csuperieur="'.mysql_escape_string($_POST['csuperieur']).'", matiereprof="'.mysql_escape_string($_POST['mmatieref']).'", A="'.mysql_escape_string($_POST['A']).'", rmail="'.mysql_escape_string($_POST['rmail']).'" WHERE id_profco="'.$id.'" '; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); } else { $erreur = ' Erreur ! Vous devez remplir tous les champs !'; } mysql_close(); }
Le message d'erreur est le suivant :
Erreur SQL !UPDATE prf_comp SET situation="test", precision="123", cprimaire="cprimaire", ccollege="ccollege", clycee="", csuperieur="", matiereprof="", A="test", rmail="oui" WHERE id_profco="1"
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 'precision="123", cprimaire="cprimaire", ccollege="ccollege", clycee="", csuperie' at line 1
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
16 oct. 2008 à 16:34
16 oct. 2008 à 16:34
es tu sur que les noms de tous tes champs correspondent bien à ta requette
et moi d'habitude je mets plutot
avec des " au debut et fin de chaine et des ' pour encadrer les valeurs à rentrer
essayes
et moi d'habitude je mets plutot
$sql="UPDATE prf_comp SET situation='".mysql_escape_string($_POST['situation'])."', etc..
avec des " au debut et fin de chaine et des ' pour encadrer les valeurs à rentrer
essayes
JBB92
Messages postés
29
Date d'inscription
jeudi 16 octobre 2008
Statut
Membre
Dernière intervention
22 juin 2010
17 oct. 2008 à 13:40
17 oct. 2008 à 13:40
Bonjour,
Je viens de revérifier tous les champs et rien ne change, j'ai aussi refait ma boucle pour être certain de ne pas y faire erreur. J'avoue ne pas comprendre là.
Voici ma requête :
Voici l'erreur qu'il m'indique :
Erreur SQL !UPDATE prf_comp SET situation="Enseignant", precision="", cprimaire="", ccollege="", clycee="clycee", csuperieur="", matiereprof="test", diplome="test", rmail="oui", WHERE id_profco="1"
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 'precision="", cprimaire="", ccollege="", clycee="clycee", csuperieur="", matiere' at line 1
Je viens de revérifier tous les champs et rien ne change, j'ai aussi refait ma boucle pour être certain de ne pas y faire erreur. J'avoue ne pas comprendre là.
Voici ma requête :
if( isset($_POST['Submit']) ) { if ((isset($_POST['diplome']) && !empty($_POST['diplome']))) { $r1 = 'UPDATE prf_comp SET situation="'.mysql_escape_string($_POST['situation']).'", precision="'.mysql_escape_string($_POST['precision']).'", cprimaire="'.mysql_escape_string($_POST['cprimaire']).'", ccollege="'.mysql_escape_string($_POST['ccollege']).'", clycee="'.mysql_escape_string($_POST['clycee']).'", csuperieur="'.mysql_escape_string($_POST['csuperieur']).'", matiereprof="'.mysql_escape_string($_POST['matiereprof']).'", diplome="'.mysql_escape_string($_POST['diplome']).'", rmail="'.mysql_escape_string($_POST['rmail']).'", WHERE id_profco="'.$id.'" '; mysql_query($r1) or die('Erreur SQL !'.$r1.'<br />'.mysql_error()); } else { $erreur = ' Erreur ! Vous devez remplir tous les champs !'; } mysql_close(); }
Voici l'erreur qu'il m'indique :
Erreur SQL !UPDATE prf_comp SET situation="Enseignant", precision="", cprimaire="", ccollege="", clycee="clycee", csuperieur="", matiereprof="test", diplome="test", rmail="oui", WHERE id_profco="1"
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 'precision="", cprimaire="", ccollege="", clycee="clycee", csuperieur="", matiere' at line 1
Utilisateur anonyme
17 oct. 2008 à 14:14
17 oct. 2008 à 14:14
bonjour,
$r1 = 'UPDATE prf_comp SET situation="'.mysql_escape_string($_POST['situation']).'", precision="'.mysql_escape_string($_POST['precision']).'", cprimaire="'.mysql_escape_string($_POST['cprimaire']).'", ccollege="'.mysql_escape_string($_POST['ccollege']).'", clycee="'.mysql_escape_string($_POST['clycee']).'", csuperieur="'.mysql_escape_string($_POST['csuperieur']).'", matiereprof="'.mysql_escape_string($_POST['matiereprof']).'", diplome="'.mysql_escape_string($_POST['diplome']).'", rmail="'.mysql_escape_string($_POST['rmail']).'", WHERE id_profco="'.$id.'" ';
il faudrait inverser les " et les ' car il y a des ' dans les $_POST
ainsi :
$r1 = "update prf_comp set situation='".mysql_escape_string($_POST['situation'])."' ...
double simple puis double double puis simple etc
$r1 = 'UPDATE prf_comp SET situation="'.mysql_escape_string($_POST['situation']).'", precision="'.mysql_escape_string($_POST['precision']).'", cprimaire="'.mysql_escape_string($_POST['cprimaire']).'", ccollege="'.mysql_escape_string($_POST['ccollege']).'", clycee="'.mysql_escape_string($_POST['clycee']).'", csuperieur="'.mysql_escape_string($_POST['csuperieur']).'", matiereprof="'.mysql_escape_string($_POST['matiereprof']).'", diplome="'.mysql_escape_string($_POST['diplome']).'", rmail="'.mysql_escape_string($_POST['rmail']).'", WHERE id_profco="'.$id.'" ';
il faudrait inverser les " et les ' car il y a des ' dans les $_POST
ainsi :
$r1 = "update prf_comp set situation='".mysql_escape_string($_POST['situation'])."' ...
double simple puis double double puis simple etc
JBB92
Messages postés
29
Date d'inscription
jeudi 16 octobre 2008
Statut
Membre
Dernière intervention
22 juin 2010
17 oct. 2008 à 14:29
17 oct. 2008 à 14:29
Bonjour,
Donc voilà j'ai enfin trouvé le problème. C'est tout simplement le fait que le terme : PRECISION est un terme réservé MySQL. C'est toujours bon à savoir.
Merci à tous
Donc voilà j'ai enfin trouvé le problème. C'est tout simplement le fait que le terme : PRECISION est un terme réservé MySQL. C'est toujours bon à savoir.
Merci à tous