Aller au contenu

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


Sujets conseillés

Posté

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.

Posté

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 ;)

Posté

 $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 ?

Posté (modifié)

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
Posté

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

Posté

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)

Posté

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é

Allez, on parie un verre de pastis...

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

Posté

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.

Posté

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

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

Où ca ? :blink:

Posté
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

Posté

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;
}

Posté
Où ca ?  :blink:

<{POST_SNAPBACK}>

'";$complement."',

Il s'est caché ici :P

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

Posté
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')

Posté (modifié)

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
Posté
€dit : Dan, j'ai gagné ;)

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

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

Posté
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 !! :/

Posté
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".

Posté
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

Posté

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é
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;

;)

Veuillez vous connecter pour commenter

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



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