Page 1 sur 1

mysql avec variable

Posté : 12 avr. 2006, 02:35
par loicperron
bonjour,
je n'arrive pas à faire une chose qui semble être toute simple, une requete mysql avec une séléction à l'aide d'une variable. je ne comprends pas.

code (est le nom du champ)
codefilm(est la variable du code recherché)
<?php
mysql_connect("192.168.0.10", "user", "passe");
$result = mysql_db_query("dadabase","select * from films where code = codefilm");
while ($row = mysql_fetch_array($result)) 
{
if ($row['code'] == $codefilm)
{$titrefilm = $row["titre"];}
}
?>
sans "where code = codefilm" cela fonctionne très bien, mais je n'ai pas envie de lire toute la table pour un seul enregistrement qui m'interesse. Quelqu'un voit il d'ou vient le problème.

Merci

PHP 5.1.2 MySQL Server 4.1

Posté : 12 avr. 2006, 04:51
par Ultiny
Je sais pas si c'est ce que t'a fait mais :

select * from films where code = codefilm ça ne designe pas une variable sans le $

Je te conseil plus cette formulation :

select * from films where code='$codefilm';

Posté : 12 avr. 2006, 10:10
par Shenryu
Il est peut-être également nécessaire de caster ta variable.
$result = mysql_db_query("dadabase","select * from films where code = ". $codefilm .";");
En SQL, une requête se fini par un point virgule. J'ai vu qu'elles fonctionnaient également sans dans les fichiers php mais je les mets quand même.

Je te conseille également de mettre toutes tes tables au singulier, ça te permettra de toujours savoir qu'il n'y a pas de s à la fin du nom de telle ou telle table.

merci

Posté : 12 avr. 2006, 12:30
par loicperron
Merci à vous 2, cela fonctionne avec la synthaxe suivante:

$result = mysql_db_query("dadabase","select * from films where code = '$codefilm';");


ah les erreurs de débutant, je passe du RPG de mon bon vieil AS400 vers le php....... c'est génial ! !!

encore merci

Posté : 15 avr. 2006, 18:58
par Ultiny
Moi c'est pas mieu, 2 semaines de C++ et je savais plus faire un echo sur PHP sans generer une erreur :p

(Ba oui std::cout << "Message" << std::endl; ça marche pas :p)

N'oublis pas le tags Résolu