Problème avec un INSERT INTO php
Résolu
fillthevoid
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
fillthevoid Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
fillthevoid Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un petit problème avec ma requête insert qui ne fait pas son boulot quelqu'un aurai une idée?
Merci d'avance pour toute les réponses. Voici mon code.
Et le code la fonction query :
J'ai un petit problème avec ma requête insert qui ne fait pas son boulot quelqu'un aurai une idée?
Merci d'avance pour toute les réponses. Voici mon code.
<form method="POST" action=""> Nom:*<br/><input type="text" name="nom" value=""><br/> Prenom:*<br/><input type="text" name="prenom" value=""><br/> Ville:<br/><input type="text" name="ville" value=""><br/> Adresse:<br/><TEXTAREA name="adresse"></TEXTAREA><br/> Code postal:<br/><input type="text" name="code_postal" value=""><br/> Téléphone:*<br/><input type="text" name="telephone" value=""><br/> Email:*<br/><input type="text" name="email_contact" value=""><br/> Message:*<br/><TEXTAREA name="message"></TEXTAREA><br/><br/><br/> <input type="submit" name="envoyer" value="Envoyer"> </form> <?php if (isset($_POST['envoyer'])) { extract($_POST); $_SESSION[nom] = $nom; $_SESSION[prenom] = $prenom; $_SESSION[adresse] = $adresse; $_SESSION[code_postal] = $code_postal; $_SESSION[ville] = $ville; $_SESSION[email_contact] = $email_contact; $_SESSION[telephone] = $telephone; $_SESSION[message] = $message; $message = ""; $mail=verifEmail($email_contact); if($mail == null AND $mail == "") { $message .= "Adresse Email non valide \\n"; echo $_SESSION [email_contact]; } if ($prenom== null AND $prenom == "") { $message .= "Prenom non valide \\n"; echo $_SESSION [prenom]; } if ($nom== null AND $nom == "") { $message .= "Nom non valide \\n"; echo $_SESSION [nom]; } if ($code_postal==null AND $code_postal=="" AND strlen(code_postal)!=5) { $message .= "Code postal non valide \\n"; echo $_SESSION [Code_postal]; } if ($ville==null AND $ville=="") { $message .= "ville non valide \\n"; echo $_SESSION [ville]; } if ($telephone==null AND $telephone=="" AND strlen(telephone)<10 AND strlen(telephone)>15) { $message .= "Téléphone non valide \\n"; echo $_SESSION [telephone]; } if ($adresse==null AND $adresse=="") { $message .= "Adresse non valide \\n"; echo $_SESSION [adresse]; } if ($message != "") { echo popUp($message); echo $_SESSION [message]; } else { mysql_connect("localhost", "root", "root"); mysql_select_db("projet_bdd"); $requete_insert = "INSERT INTO contact VALUES '".$telephone."', '".$ville."', '".$nom."', '".$prenom."', '".$email_contact."', '".$adresse."', '".$code_postal."', '".$message."'"; $resultat_insert = query($requete_insert); unset($_SESSION['nom']); unset($_SESSION['prenom']); unset($_SESSION['adresse']); unset($_SESSION['code_postal']); unset($_SESSION['email_contact']); unset($_SESSION['ville']); unset($_SESSION['telephone']); unset($_SESSION['message']); } /*refresh(0, "php", "index?page=gestion_repertoire");*/ } ?>
Et le code la fonction query :
function query($req) { $resultat = mysql_query($req); return $resultat; }
A voir également:
- Problème avec un INSERT INTO php
- Touche insert - Guide
- Easy php - Télécharger - Divers Web & Internet
- Disk boot failure insert system disk and press enter - Guide
- Expert php pinterest - Télécharger - Langages
- Insert boot media in selected boot device and press a key ✓ - Forum Windows 10
4 réponses
Je ne sais pas si c'est facultatif ou pas, mais les VALUES doivent être entre parenthèses.
Sinon tu peux commencer par afficher $requete_insert et l'exécuter dans phpmyadmin, ça te donnera peut être une indication sur ton erreur.
Sinon tu peux commencer par afficher $requete_insert et l'exécuter dans phpmyadmin, ça te donnera peut être une indication sur ton erreur.
fillthevoid
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
Excellente réaction et oui ca aide beaucoup vu que c'est cela qui fesiat qu'il prenait en compte ma double quote qui se trouvait devant le insert. MERCI DE VOS RÉPONSE A TOUS
peut etre remplacer
$resultat_insert = query($requete_insert);
par
$resultat_insert = mysql_query($requete_insert);
$resultat_insert = query($requete_insert);
par
$resultat_insert = mysql_query($requete_insert);
Bonjour
Tu ne précises pas les noms des champs dans ton INSERT, les as-tu bien tous mis et dans le bon ordre ?
Sinon, pour diagnostiquer modifie ton appel à mysql_query :
Tu ne précises pas les noms des champs dans ton INSERT, les as-tu bien tous mis et dans le bon ordre ?
Sinon, pour diagnostiquer modifie ton appel à mysql_query :
$resultat = mysql_query($req) or die(mysql_error());
Merci pour ta réponse j'ai essayé de mettre le nom des champs normallement pas obligatoire ça n'a rien changé mais j'ai quasiment trouvé le problème en fait j'ai une cote en trop dans la requête. Celle du début apparait celle qui précède le INSERT... je vois pas vraiment pourquoi elle aparait mais bon je vais essayer de la faire disparaitre.
Bien sûr que non les noms des chamsp ne sont pas obligatoires. Mias si tu ne les mets pas, il faut mettre les VALEURS pour tous les champs, et dans le bon ordre, sinon mysql ne peut pas deviner à quel champ correspond chaque valeur.
Celle du début apparait celle qui précède le INSERT Qu'esct-ce que ça veut dire, ça ? Je ne vois pas de quote en trop dans ta requête, celle qu'il y a avant le mot SELECT est un délimiteur de chaîne et ne fait en aucun cas partie de la requête
Celle du début apparait celle qui précède le INSERT Qu'esct-ce que ça veut dire, ça ? Je ne vois pas de quote en trop dans ta requête, celle qu'il y a avant le mot SELECT est un délimiteur de chaîne et ne fait en aucun cas partie de la requête
$resultat_insert = mysql_query("INSERT INTO contact VALUES '".$ville."', '".$telephone."', '".$nom."', '".$prenom."', '".$email_contact."', '".$adresse."', '".$code_postal."', '".$message."'");et mysql répond ceci :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 ''Les Houches', '0450543572', 'Vantourout', 'Benoit', 'vantourout.ben@gmail.com',' at line 1.
Regarde avant les houches il y a une double quote celle qui me pose problème... et j'ai bien mis toute les valeur de ma table dans le bonne ordre.