Variable dans un SELECT ...

Petit nouveau ! | 1 Messages

13 oct. 2005, 18:51

Bonjour,
je voudrai savoir pourquoi j'obtiens une erreur lorsque je code ceci:
$lil = $_POST['lil'];
mysql_query("INSERT INTO ecran (lil) VALUES ('$lil')") or die ("erreur insert ".mysql_error());
$id= mysql_query("SELECT id FROM ecran WHERE lil=$lil);
echo "Le N° LIL".$lil." a été rentré dans la base"." sous l id N° ".$id;
le problème apparemment vient d'ici WHERE lil=$lil mais je ne vois pas comment faire autrement.

avec $lil = $_POST['lil']; je reprend ma saisie dans un formulaire, j'insere les valeurs dans la base (pas de pb) mais quand je veux recuperer l'id ca ne fonctionne pas

est ce que quelqu'un sait comment faire.

Pour
echo "Le N° LIL".$lil." a été rentré dans la base"." sous l id N° ".$id;
il m'affiche :
Le N° LIL243 a été rentré dans la base sous l id N° Resource id #3

???

Mammouth du PHP | 1339 Messages

13 oct. 2005, 18:59

$id= mysql_fetch_array(mysql_query("SELECT id FROM ecran WHERE lil=".$lil));
$id = $id['id'];
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

13 oct. 2005, 19:00

SAlut, tu ne récupères pas le résultat comme il le faut, du moins tu ne l'affiche pas comme il le faut, je m'explique:
mysql_query() renvois une resource tu ne peut pas l'utiliser directement ainsi, il faut soit le récupèrer avec mysql_result(), mysql_fetch_array() ou encore d'autres a voir sur les liens.

isert cette ligne:
...
$id= mysql_query("SELECT id FROM ecran WHERE lil=".$lil); 
$id=mysql_result($id,0,"id");
echo "Le N° LIL".$lil." a été rentré dans la base"." sous l id N° ".$id;
Mais pour récupèrer l'id tu peut aussi utiliser mysql_insert_id()

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Invité
Invité n'ayant pas de compte PHPfrance

14 oct. 2005, 08:22

Merci pour vos reponses, ca fonctionne tres bien!