Problème requête SQL/php
JBB92
Messages postés
29
Date d'inscription
Statut
Membre
Dernière intervention
-
JBB92 Messages postés 29 Date d'inscription Statut Membre Dernière intervention -
JBB92 Messages postés 29 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je dois reconnaître que je cale là. Je suis en train de réaliser un petit site pour un établissement mais voilà l'entrée des informations depuis un formulaire vers une base SQL me répond :
Erreur SQL !
Query was empty
Vous voyez ce qui disfonctionne ?
Je dois reconnaître que je cale là. Je suis en train de réaliser un petit site pour un établissement mais voilà l'entrée des informations depuis un formulaire vers une base SQL me répond :
Erreur SQL !
Query was empty
if ((isset($_POST['A']) && !empty($_POST['A']))) { $sq1 = '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()); }
Vous voyez ce qui disfonctionne ?
A voir également:
- Problème requête SQL/php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Logiciel sql - Télécharger - Bases de données
- Jointure sql ✓ - Forum MySQL
- Alert php ✓ - Forum PHP
4 réponses
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()); }
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
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
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