Requete incorrecte
matafix
Messages postés
45
Statut
Membre
-
matafix Messages postés 45 Statut Membre -
matafix Messages postés 45 Statut Membre -
hi tous le monde :D,
j'ai un problème avec mon code php car je veux exécuter une requête qui a pour but l'insertion des enregistrements extraites d'un formulaire dans la BD mais ça marche pas pouvez vous m'aider ?
j'ai un problème avec mon code php car je veux exécuter une requête qui a pour but l'insertion des enregistrements extraites d'un formulaire dans la BD mais ça marche pas pouvez vous m'aider ?
if($connexion=mysql_connect("localhost","root","")) {
if(mysql_select_db("preinscription",$connexion)) {
echo "Succès de connexion.";
$nom=$_POST["nom"];
$pren=$_POST["prenom"];
$dateNai=$_POST["dateNaissance"];
$lieuN=$_POST["lieuNaissance"];
$natio=$_POST["nationalite"];
$adr=$_POST["adresse"];
$vill=$_POST["ville"];
$codP=$_POST["codePostal"];
$tel=$_POST["telephone"];
$emai=$_POST["email"];
$serie=$_POST["niveauIntitule"];
$etab=$_POST["niveauEtablissement"];
$ment=$_POST["niveauMention"];
$annee=$_POST["niveauAnnee"];
$requete="INSERT INTO preinscri(Nom,prenom,Dat_nais,Lieu_nais,Nationalité,adresse,ville,Code_post,Tél,mail,serie_bac,etablissement_academie,mention,année_bac)
VALUES('$nom','$pren',$dateNai,'$lieuN','$natio','$vill','$adr',$codP,$tel,'$emai','$serie','$etab','$ment','$annee')" ;
if($result=mysql_query($requete)){
echo "Requete validée";}
else{
echo "Requete non validée";}
} else {
die ("Echec de connexion à la base.");
}
mysql_close($connexion);
} else {
die(" Echec de connexion au serveur de base de données.");
}
A voir également:
- Requete incorrecte
- Requête sql pix - Forum Python
- Impossible d'associer avec en raison d'un pin ou clé de sécurité incorrecte ✓ - Forum Xiaomi
- Whatsapp date incorrecte - Forum Mail
- Configuration cote à cote incorrecte chrome ✓ - Forum Google Chrome
- La clé de sécurité réseau est incorrecte - Forum Réseau
4 réponses
Bonjour
1 - évite les caractères spéciaux (accents) dans les noms de champs
2 - N'utilise pas les variables, directement dans les requêtes, que va-t-il se passer si elles contiennent des apostrophes ?
$nom=mysql_real_escape($_POST["nom"]); // et idem pour les autres bien sûr
3 - ajoute or die (mysql_error()); après chaque requête pour avoir une idée plus précide de l'erreur :
mysql_query($requete) or die (mysql_error())
1 - évite les caractères spéciaux (accents) dans les noms de champs
2 - N'utilise pas les variables, directement dans les requêtes, que va-t-il se passer si elles contiennent des apostrophes ?
$nom=mysql_real_escape($_POST["nom"]); // et idem pour les autres bien sûr
3 - ajoute or die (mysql_error()); après chaque requête pour avoir une idée plus précide de l'erreur :
mysql_query($requete) or die (mysql_error())
merci toto pour la réponse ,j'ai changé les champs comportant des accents, pour la deuxième solutions je vois pas vraiment comment faire sans les variables contenant les valeurs des champs du formulaire, j'ai essayé avec mysql_real_escape($_POST["nom"]) mais ça me retourne cette erreur :Fatal error: Call to undefined function mysql_real_escape() in C:\wamp\www\projet\validation.php on line 16
C'était mysql_real_escape_string().
Excuse-moi pour l'erreur, mais tu as le droit de lire la doc toi aussi...
Excuse-moi pour l'erreur, mais tu as le droit de lire la doc toi aussi...
re :P, voila le nouveau code :
la requete passe mais aucun enregistrements n'est ajouté dans la table :(
$connexion=mysql_connect("localhost","root","") or die("Echec de connexion au serveur de base de données.");
mysql_select_db("preinscription",$connexion) or die ("Echec de connexion à la base.");
$nom=mysql_real_escape_string($_POST["nom"]);
$pren=mysql_real_escape_string($_POST["prenom"]);
$dateNai=mysql_real_escape_string($_POST["dateNaissance"]);
$lieuN=mysql_real_escape_string($_POST["lieuNaissance"]);
$natio=mysql_real_escape_string($_POST["nationalite"]);
$adr=mysql_real_escape_string($_POST["adresse"]);
$vill=mysql_real_escape_string($_POST["ville"]);
$codP=mysql_real_escape_string($_POST["codePostal"]);
$tel=mysql_real_escape_string($_POST["telephone"]);
$emai=mysql_real_escape_string($_POST["email"]);
$serie=mysql_real_escape_string($_POST["niveauIntitule"]);
$etab=mysql_real_escape_string($_POST["niveauEtablissement"]);
$ment=mysql_real_escape_string($_POST["niveauMention"]);
$annee=mysql_real_escape_string($_POST["niveauAnnee"]);
$requete="INSERT INTO preinscri VALUES('$nom','$pren',$dateNai,'$lieuN','$natio','$vill','$adr',$codP,$tel,'$emai','$serie','$etab','&ment',$annee)" ;
if($result == mysql_query($requete)){
echo "Requete validée";}
else{
echo "Requete non validée";}
mysql_close($connexion);
la requete passe mais aucun enregistrements n'est ajouté dans la table :(