[Résolu] mauvaise version de mysql?

Petit nouveau ! | 2 Messages

29 juin 2005, 11:31

Je vous écris car j`ai un problème avec MySQL que je n`arrive pas à résoudre... J`ai mis sur mon site, un script PHP que je faisais tourner sur un autre serveur et qui fonctionnait très bien. Ce script appelle une BDD MySQL. Or je ne comprends pas car à chaque fois que j`appelle une fonction en particulier, le serveur m`affiche un message d`erreur.
Par exemple, voici un code :
$req = `SELECT * FROM cas where ddn = `$ddn` or datemel=`$datemel``;
$résult = mysql_db_query(`db*****`,$req);
if (mysql_num_rows($req)!=0){
print(`


`);
Erreur(`désolé mais les dates demandées se chevauchent avec un cas précédent`);
exit;}
Et à chaque fois que j`appelle ce script, le serveur me réponds par l`erreur suivante:
Warning: Supplied argument is not a valid MySQL result resource in /easyonline/www/www.essa-lyon.org/htdocs/casclinique/modifcas.php on line 8
sachant que la ligne 8 correspond à ` if (mysql_num_rows($req)!=0){`
Est-ce la version de My SQL qui n`est pas la même?
Cette erreur apparaît également pour les fonctions suivantes:
mysql_fetch_array
mysql_fetch_row
Existe-t-il un moyen de contourner ce problème?
Modifié en dernier par dakkoo le 30 juin 2005, 12:34, modifié 1 fois.

Eléphant du PHP | 92 Messages

29 juin 2005, 13:02

il me semble que ta requete n'est pas faite correctement, l'erreur indiquée montre que ta requete n'a pas pu s'executer et donc que ton resultat n'est pas valide.

les noms des champs doivent etre entre `` et les valeurs entre ''. Toi, tu as pas mis des `` pour les champs, par contre tu les as mis pour les valeurs.

un petit conseil sur les requetes:
Remplace $tonresult=mysql_query(tarequete, taconnexion); par
$tonresult=mysql_query(tarequete, taconnexion) or die(mysql_error());

le serveur sql t'indiquera l'erreur sur la requete et bloquera ton traitement.

edit: de plus le mysql_num_rows() se fait sur le resultat et non sur la requete. regarde un peu de la doc sur mysql et php.

Petit nouveau ! | 2 Messages

30 juin 2005, 12:35

Je tenais à vous remercier pour votre aide, grâce à vous j'ai pu retrouver l'erreur, en fait il y avait tout simplement une erreur dans le nom de la BDD... Il me semblait l'avoir vérifié... Cependant j'ai pris en compte vos conseils à propos des requêtes, en effet c'est plus pratique!