Aller au contenu

requête qui ne s'inscrit pas dans la base


burinho

Sujets conseillés

Bonjour,

a chaque fois que je modifie un champ ou que je re rajoute un champ supplémentaire d'insertion dans ma base, plus rien ne s'inscrit dans la base.

pourtant mon message de bonne execution de la requête fonctionne, et un mail est généré comme si tout était ok.

Lien vers le commentaire
Partager sur d’autres sites

Ce n'est pas parce qu'un script continue de "tourner" que la requète est bonne... vérifie ta requète, que tu as mis le bon nombre de données, le bon nom des champs...

Fais même un echo $requete; histoire de voir la requète affichée...

Et puis donne un bout de code et la structure de ta table pour qu'on voie ;)

Lien vers le commentaire
Partager sur d’autres sites

 $req_inscription =  "INSERT INTO membres( 
date_adhesion,
date_fin,
utilisateur,
mot_passe,
nom,
prenom,
profil,
adresse,
complement,
cp,
ville,
telephone,
portable,
mail,
fax)
               VALUES(
'$date_adhesion',
'$date_fin',
'$utilisateur',
'$mot_passe',
'$nom',
'$prenom',
'membre',
'$adresse',
'$complement',
'$cp',
'$ville',
'$telephone',
'$portable',
'$mail',
'$fax')";

ci joint la requette je dois mettre l'echo ou ?

Lien vers le commentaire
Partager sur d’autres sites

Juste après ce que tu viens de mettre, tu mets

echo $req_inscription;

Ensuite tu regardes ce qui est affiché sur ta page... Si rien ne te paraît anormal, il faut que tu essayes directement la requète dans phpmyadmin qui te dira plus précisément si quelque chose ne va pas :D

Modifié par sarc
Lien vers le commentaire
Partager sur d’autres sites

Remplaces la deuxième partie de ton code par ceci:

../..
               VALUES(
'".$date_adhesion."',
'".$date_fin."',
'".$utilisateur."',
'".$mot_passe."',
'".$nom."',
'".$prenom."',
'".membre."',
'".$adresse."',
'";$complement."',
'".$cp."',
'".$ville."',
'".$telephone."',
'".$portable."',
'".$mail."',
'".$fax."')";

Car les simples quotes protègent les variables qui ne sont donc pas interprétées en php. :)

Dan

Lien vers le commentaire
Partager sur d’autres sites

Dan, la requète est entre guillemets, il n'y aura pas de problèmes ici... Les variables seront bien remplacées par leurs valeurs ! Les simples quotes sont juste là pour le SQL, mais pas de problèmes avec les variables PHP, sauf erreur de ma part (je me méfie, j'en sors des belles en ce moment :D)

Lien vers le commentaire
Partager sur d’autres sites

Un print $req_inscription t'en dira plus ;)

Chez moi, selon la première forme, je n'ai pas les valeurs... mais bien selon la seconde ;)

Lien vers le commentaire
Partager sur d’autres sites

Allez, on parie un verre de pastis...

Burinho, "echote" nous cette variable, on risque gros là :D lol

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Un print $req_inscription t'en dira plus ;)

Chez moi, selon la première forme, je n'ai pas les valeurs... mais bien selon la seconde ;)

<{POST_SNAPBACK}>

J'aurais tendance à être d'accord avec Sarc... C'est pas beau mais ca doit marcher.

Sinon, burhino, pour savoir ce qui ne va pas tu peux essayer de récupérer l'erreur si elle ne s'affiche pas.

Pour cela :

if (!mysql_query($req_inscription)) {

echo mysql_error();
}

Je parie que dans ta requète tu as un (ou plusieurs) champ(s) avec des apostrophes.

Lien vers le commentaire
Partager sur d’autres sites

Dan, en plus, t'as un ; dans ta requète :rolleyes: ça marchera surement pas.. :P

Bon, j'arrète de chercher je vais me faire taper :P

Lien vers le commentaire
Partager sur d’autres sites

if (!mysql_query($req_inscription)) {

echo mysql_error();
}

Je parie que dans ta requète tu as un (ou plusieurs) champ(s) avec des apostrophes.

<{POST_SNAPBACK}>

je veins essayer en faite j'ai mon message executio, mais devant j'ai Query was empty comme erreur

Lien vers le commentaire
Partager sur d’autres sites

Query was empty, si je comprend l'anglais, cela veut dire que la requete est vide.

Tu as essayé de faire un echo $req_inscription ??

Ou de faire :

if (!mysql_query($req_inscription)) {

echo mysql_error()."<br>Requète:".$req_inscription;
}

Lien vers le commentaire
Partager sur d’autres sites

Où ca ?  :blink:

<{POST_SNAPBACK}>

'";$complement."',

Il s'est caché ici :P

Burinho faut absolument afficher ta requète pour voir le problème !!

Lien vers le commentaire
Partager sur d’autres sites

INSERT INTO membres( date_adhesion,date_fin,utilisateur,mot_passe,nom, prenom,profil,adresse, complement, cp, ville,telephone,portable, mail,fax) VALUES('2005-01-01','2005-12-31','administrateur','999','99','88','membre','88', '888','88',' 8','8888','8888','999','99')

Lien vers le commentaire
Partager sur d’autres sites

Maintenant, copie cette requète et essaye la directement dans PHPmyAdmin (tu vas dans une table, et dans l'onglet SQL, tu copies cette requète).

Normalement, il te mettra une erreur, et comme ça tu sauras exactement où est le problème...

dit : Dan, j'ai gagné ;)

Modifié par sarc
Lien vers le commentaire
Partager sur d’autres sites

€dit : Dan, j'ai gagné ;)

Possible mais c'est "programmer avec les pieds" :evil:

A chacun son style, je préfère les mains ! :)

Lien vers le commentaire
Partager sur d’autres sites

Possible mais c'est "programmer avec les pieds"  :evil:

A chacun son style, je préfère les mains ! :)

<{POST_SNAPBACK}>

Chacun son style :D

Mais je ne comprends pas pourquoi c'est moche de faire une requète comme ça... J'ai pris pour habitude dès le début de faire tout ce que je pouvais avec des ", et de laisser mes variables se balader dedans sans demander leur reste...

Je me sens plus à l'aise en faisant ça qu'en faisant ce que tu as dis : pas de problèmes de ponctuation, on place la variable là ou on veut, c'est plus lisible...

Enfin bon, j'avoue que je comprends pas pourquoi c'est pire qu'autre chose !! :/

Lien vers le commentaire
Partager sur d’autres sites

Enfin bon, j'avoue que je comprends pas pourquoi c'est pire qu'autre chose !! :/

Parce que c'est plus propre. :P

Bon... Tu va me dire : C'est pas une raison.

D'ac, mais si tu dois ajouter une fonction sur ta variable ? Genre un addslashes().

Il vaut donc mieux ecrire

$texte = "Quelque ".$chose;

Comme ca, si tu dois ajouter la fonction il ne te reste plus qu'a ecrire :

$texte = "Quelque ".addslashes($chose);

C'est comme ca, on concatène :)

Et pis si tu ecris :

$texte = 'Quelque $chose';

Avec des simple quotes, un echo $texte affiche "Quelque $chose".

Lien vers le commentaire
Partager sur d’autres sites

Comme ca, si tu dois ajouter la fonction il ne te reste plus qu'a ecrire :

$texte = "Quelque ".addslashes($chose);

Oui, moi j'ai juste une autre version de la chose : avoir des variables prêtes à l'emploi avant de les afficher lol... Enfin bon, c'est vrai que c'est pas plus mal de mettre la fonction directement dedans :D

Et pis si tu ecris :

$texte = 'Quelque $chose';

Ca je savais, mais je l'écris pas généralement :P j'évite les simples quotes lol :D

Lien vers le commentaire
Partager sur d’autres sites

Il y a une autre raison aussi (après j'arrète on est HS)

echo "Quelque ".$chose;

est plus rapide que echo "Quelque $chose";

Lien vers le commentaire
Partager sur d’autres sites

Il y a une autre raison aussi (après j'arrète on est HS)

echo "Quelque ".$chose;

est plus rapide que echo "Quelque $chose";

<{POST_SNAPBACK}>

Le plus rapide étant :

echo 'Quelque ',$chose;

;)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...