Page 1 sur 1

Msql 4 Vers Mysql 5 = incompatibilité des requetes !

Posté : 24 déc. 2008, 17:40
par fabien_14
Bonjour,

Je viens de changer et de me mettre sur Mysql5 depuis certaines requêtes ne fonctionne plus ...

Je ne vois pas trops le probleme :shock:

Voici ma requete :
$sql="SELECT id,mod,cat FROM modalite WHERE Cat ='1' ORDER BY id" or die('Erreur SQL ! '.$sql.' '.mysql_error());
$result = mysql_query($sql); 
echo $sql;
while($row = mysql_fetch_row($result)){
$id_mod = $row[0];
$nom = $row[1];
Et le message d'erreur :

Code : Tout sélectionner

<select name="mod" size="1"> SELECT id,mod,cat FROM modalite WHERE Cat ='1' ORDER BY id<br /> <b>Warning</b>: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in <b>/homepages/21/d18xxxxx/htdocs/test/lib/participe.php</b> on line <b>286</b><br /> </select>
Voici la structure de la table :

Code : Tout sélectionner

CREATE TABLE `modalite` ( `id` int(50) NOT NULL auto_increment, `mod` varchar(255) collate latin1_german2_ci NOT NULL default '', `cat` int(10) NOT NULL default '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=25 DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci AUTO_INCREMENT=25 ;

Merci de votre aide.

Posté : 24 déc. 2008, 17:53
par Calimero
Que dit phpmyadmin quand tu y exécutes cette requête ?

Posté : 24 déc. 2008, 17:56
par fabien_14
Bonjour,

PS : j'ai ajouté qlq infos dans le code :

while($row = mysql_fetch_row($result)){
$id_mod = $row[0];
$nom = $row[1];


Sinon dans phpmyadmin la requete :

MySQL a répondu:Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' cat FROM modalite WHERE Cat = '1' ORDER BY id LIMIT 0, 30' at line 1

Posté : 24 déc. 2008, 18:16
par Sékiltoyai
C'est ça aussi d'utiliser des mots réservés dans ses noms de champ :wink: : http://dev.mysql.com/doc/mysqld-version ... s-5-1.html