2010-11-29 5 views
1

J'ai un problème étrange, quand j'utilise la requête sur phpmyadmin, cela fonctionne. mais quand j'utilise un script php, il renvoie une erreur.Php mysql déclaration avec définir et sélectionner

Warning: mysql_fetch_array() attend le paramètre 1 pour être ressource, booléenne donnée dans

J'ai essayé de résoudre les problèmes et a découvert que le problème réside dans l'instruction set.

Ceci est mon exemple de code.

$sql = 'set @rank=0; select * from user;'; 

S'il vous plaît aider quelqu'un.

Répondre

0

Voir ce que mysql_error renvoie après avoir exécuté mysql_query('...'). Cela pourrait aider. En général, mysql_query autorise uniquement une requête. Vous ne pouvez pas les séparer par des retours à la ligne ou des points-virgules. mysqli le fera pour vous si.

3

First Run

$sql = set @rank=0; 

il va stocker la valeur de rang

puis exécutez:

select * from user; 

En sorte que vous devez exécuter les deux requêtes séparément.

L'instruction set stocke des valeurs. qui peut être utilisé par la prochaine requête d'exécution,

comme le code ci-dessous:

$sql ="SET @id:=0"; 
$Executives=$DB->exec($sql); 
$sql = "SELECT @id:[email protected]+1 as id,pes.* FROM profile_executive_summary as pes where profile_id=".$pid; 
$Executives=$DB->fetchAssoc($sql);