Pb mise à jour serveur

Pb mise à jour serveur - PHP - Programmation

Marsh Posté le 14-03-2008 à 07:12:25    

Bonjour à tous !
J'ai une requete sur ma base de données :
SELECT id, titre FROM sites WHERE entr>out AND valid=1 ORDER BY rand() LIMIT 5
Avant la mise à jour elle fonctionnait très bien et affichait 5 sites au hasard.
Depuis la mise à jour j'ai l'erreur "mysql_fetch_array(): supplied argument is not a valid MySQL result resource in..."
J'obtiens MEME l'erreur si j'entre la requete directement sur PhpMyAdmin.
Je suppose que cette requete n'est pas compatible avec les dernières versions de Mysql...etc
Pouvez-vous m'aider à la mettre à jour pour qu'elle fonctionne ?
Merci bc !  :wahoo:

Reply

Marsh Posté le 14-03-2008 à 07:12:25   

Reply

Marsh Posté le 14-03-2008 à 09:52:38    

donne nous le message d'erreur mysql ça sera plus simple

Reply

Marsh Posté le 14-03-2008 à 11:13:00    

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/site/web/www/index.php on line 156
 
Et la ligne 155/156 c'est :
$r1=mysql_query("SELECT id, titre FROM sites WHERE entr>out AND valid=1 ORDER BY rand() LIMIT 5" );
$row=mysql_fetch_array($r1);
 
Avant la mise à jour du serveur il n'y avait pas cette erreur / et je n'ai rien changé depuis.
J'ai aussi vérifié au niveau de la BDD (Réparer et Optimiser) mais ya rien de coté là.
 
Merci de m'aider..

Reply

Marsh Posté le 14-03-2008 à 11:33:48    

message d'erreur mysql STP (avec mysql_error, ou le message affiché dans phpMyAdmin)

Reply

Marsh Posté le 14-03-2008 à 11:35:06    

J'obtiens ça avec Myadmin :
 
 
requête SQL:  
 
SELECT id, titre
FROM sites
WHERE entr > out
AND valid =1
ORDER BY rand( )  
LIMIT 5  
MySQL a répondu:  
 
#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 'out AND valid=1 ORDER BY rand() LIMIT 5' at line 1  

Reply

Marsh Posté le 14-03-2008 à 11:49:08    

entr et out sont de quels types ?

Reply

Marsh Posté le 14-03-2008 à 11:52:00    

ENTR et OUT sont tous les deux des smallint(6)

Reply

Marsh Posté le 14-03-2008 à 11:56:24    

il me semble que out est un mot réservé, essaye d'entourer tes noms de champs avec `
genre :

SELECT `id`, `titre`
FROM `sites`
WHERE `entr`>`out`
AND `valid`=1
ORDER BY rand( )  
LIMIT 5  

Reply

Marsh Posté le 14-03-2008 à 12:04:33    

En effet ça a réglé le problème ;)
Merci infiniment !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed