Page 1 sur 1

utiliser variable dans mysql_query

Posté : 31 mai 2006, 20:45
par Strotti
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.

Posté : 31 mai 2006, 21:58
par jpaul
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 ;)

resolu

Posté : 31 mai 2006, 23:44
par strotti
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

Posté : 01 juin 2006, 09:02
par jpaul
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 ;).

Posté : 03 juin 2006, 23:56
par Invité
merci encore a tous pour votre aide.

sujet clos pour moi.