2010-02-25 6 views
0

Code comme suit:Une question sur le jugement de résultat de la requête en PHP et MySQL

$db = DatabaseService::getInstance();  //get a database handle,base on pdo 
$sql = "select * from authusers where ssouid = '".$ssouid."' order by regtime"; 
$res = $db->query($sql); 

if($res && $res->fetch()) // here is the Problem line 
{ 
    //do something 
} 
else 
{ 
    //raise some exception 
} 

Dans la ligne de problème, je veux la condition de savoir si certains enregistrement (s) dans la base de données a été tiré par les cheveux ou non. Mais j'ai trouvé en quelque sorte que cela ne fonctionnait pas toujours. Quelqu'un m'a suggéré d'utiliser select count(*) as num ... pour ce faire, mais je pense que ce serait une sorte de requête en double comme select * from....

+1

Nous ne savons pas exactement ce qui est dans la classe de base de données, donc je ne pense pas que nous pouvons vraiment aider ... –

+0

DATABASESERVER La classe est basée sur PDO :) – Young

Répondre

0

Cela devrait également fonctionner parce que la requête a fait son chemin db:

if(mysql_num_rows($res)) // here is the Problem line 
{ 
    //do something 
} 
else 
{ 
    //raise some exception 
} 
+0

C'est une solution pour le code court, merci. – Young

+0

@SpawnCxy: c'est de bonnes nouvelles de toutes façons :) – Sarfraz

+0

@ Johnson Johnson: vous avez raison, d'abord je pensais que mais ensuite n'a pas fait :) – Sarfraz