utiliser variable dans mysql_query

Strotti
Invité n'ayant pas de compte PHPfrance

31 mai 2006, 20:45

Bonjour,

je suis assez nouveau en php, pour ne pas dire nouveau et je rencontre un petit probleme. En effet je veux passer une variable, a partir d'un formulaire, dans une query mais ca ne fonctionne pas. Je vous montre mes deux scripts:

formulaire:

Code : Tout sélectionner

<form method="post" action="delete.php"> <input type="text" name="name"> name <br> <input type="submit" name="submit" value="Delete"> </form>
delete.php
<?
$db = mysql_connect('xxx','xxx','') or die ("erreur de connexion");

mysql_select_db('xxx',$db) or die ("erreur de connexion base");

mysql_query("Delete from xxx where name = $name ") or die ("erreur de connexion a delete");

mysql_close();

?>
Donc, je veux passer name (a partir du formulaire) dans delete.php mais dans cette query là ca ne fonctionne pas. Par contre si je fait seulement :
<?
$db = mysql_connect('xxx','xxx','') or die ("erreur de connexion");

mysql_select_db('xxx',$db) or die ("erreur de connexion base");

print $name;

mysql_close();

?>
ca fonctionne, il me montre le "name" que j'ai rempli dans mon formulaire.

Merci de votre aide.

Eléphant du PHP | 451 Messages

31 mai 2006, 21:58

Je pense que ton problème ne vient pas du fait que tu utilises une variable mais plutôt qu'il manque des ' et ` essaye de remplacer :
mysql_query("Delete from xxx where name = $name ") or die ("erreur de connexion a delete");

par :
mysql_query("Delete from `xxx` where name = '$name' ") or die ("erreur de connexion a delete"); 

Petit conseil, télécharge et installe phpMyAdmin, ça aide bien quand on est pas expert en sql comme moi ;)
Jpaul
J'essaye d'aider : parfois je fais des erreurs, on me les corrige et j'apprends un peu plus. Super ce forum :)

strotti
Invité n'ayant pas de compte PHPfrance

31 mai 2006, 23:44

merci pour ta reponse. au fait ca fonctionne avec les ' ' . j avais justement un probleme de cookies et comme j ai essayé bcp de variantes ben je savais plus a laquelle me fier.

j utilise depuis longtemps phpmyadmin, maintenant je voulais apprendre plus c est pour ca que je veux faire mes scripts moi meme au lieu d aller faire des changements dans la db avec phpmyadmin.

en tout cas gros merci.

strotti

Eléphant du PHP | 451 Messages

01 juin 2006, 09:02

Ben si tu utilises phpMyAdmin, c'est un bon outil de tests :
au lieu de mettre :
mysql_query("Delete from `xxx` where name = '$name' ") or die ("erreur de connexion a delete");
tu fais :
$req="Delete from `xxx` where name = '$name' ";
echo $req;
mysql_query($req) or die ("erreur de connexion a delete");
Si tu as un soucis, tu fais un copier du echo $req et tu vas passer la requête dans phpMyAdmin, tu devrais facilement voir ce qui cloche, tu corriges (sous phpMyAdmin) jusqu'à ce que ça marche et enfin tu corriges ton scripte (et tu peux virer le echo bien sûr). C'est comme ça que j'ai fait pour te répondre ;).
Jpaul
J'essaye d'aider : parfois je fais des erreurs, on me les corrige et j'apprends un peu plus. Super ce forum :)

Invité
Invité n'ayant pas de compte PHPfrance

03 juin 2006, 23:56

merci encore a tous pour votre aide.

sujet clos pour moi.