2009-02-04 7 views
0
$sql = "SELECT count(u_id) AS num_replies FROM `replies` WHERE `u_id`='".$uid."'"; 
$res = mysql_query($sql) or die(myqsl_error()); 

Est-ce que cela retournera le nombre de réponses faites par un utilisateur avec l'ID $ uid? Si non, quelqu'un peut-il suggérer quelque chose qui le fera?Question sur une requête

Thx pour l'aide.

+1

N'oubliez pas de nettoyer d'abord $ uid. :-) –

Répondre

5

Il est difficile de répondre à cette question sans en savoir plus sur la table des réponses, mais en regardant simplement votre requête, alors oui votre requête ressemble à cela.

0

$ssql = "SELECT count(*) AS num_replies FROM replies WHERE u_id = $uid";
$rres = mysql_query($ssql);

+0

La clause GROUP BY est inutile car la clause WHERE réduit l'ensemble que COUNT (*) traite uniquement aux enregistrements correspondant à $ uid. – Welbog

+0

Bon point, commentaire édité. -- Je vous remercie! –

+0

Alors maintenant, votre requête est la même que la sienne sauf qu'elle compte * au lieu de u_id ce qui ne fait absolument aucune différence. Je ne sais pas pourquoi vous avez pris la peine de répondre. – Welbog

0

Il retourne le nombre d'enregistrements dans le tableau avec cette u_id. Peu importe ce que vous mettez dans les parthèses. Vous n'avez besoin d'aucune clause GROUP BY.

1

Pour l'amour d'Internet, ne créez pas vous-même une requête SQL. Utilisez PDO.