如何在PHP中获取select count(*)查询的结果?

时间:2011-04-22 17:24:36

标签: php mysql

我在PHP中使用此查询:

mysql_query("select count(*) from registeredUsers where email=".$_SESSION["username"]);

当我使用echo打印出结果时,不会打印任何内容。上述陈述的返回值究竟是什么?

10 个答案:

答案 0 :(得分:13)

您的代码不包含任何提取语句。正如另一个答案所指出的,你需要$_SESSION["username"]周围的单引号。

$result = mysql_query("select count(*) from registeredUsers where email='{$_SESSION['username']}'");

// Verify it worked
if (!$result) echo mysql_error();

$row = mysql_fetch_row($result);

// Should show you an integer result.
print_r($row);

答案 1 :(得分:10)

mysql_query返回结果资源。您可以使用mysql_result

阅读结果
$res = mysql_query("select count(*) from registeredUsers where email='".mysql_real_escape_string($_SESSION["username"])."'");
echo mysql_result($res,0);

答案 2 :(得分:2)

您的查询中的会话变量需要单引号

$result = mysql_query("SELECT COUNT(*) 
                       FROM registeredUsers 
                       WHERE email = '".$_SESSION['username']."' ");

答案 3 :(得分:0)

计数查询将始终返回一个值,如果没有返回记录则为0,如果记录匹配则为0以上的整数。

至少应打印0,您发布的查询意味着:

Get the number of records where the email address is equal to the session username

这可能没有意义,你的意思是做where username = ".$_SESSION["username"]或类似的东西吗?

答案 4 :(得分:0)

您可能希望回显查询本身以确定它正在返回您期望的内容。

答案 5 :(得分:0)

mysql_query()返回用于从结果集中获取信息的资源。使用mysql_fetch_array()等函数从结果集中检索行。在这种情况下,只会有一行。

答案 6 :(得分:0)

它应该为您提供具有您提供的电子邮件地址作为此查询的参数的注册用户的数量。 (可以检查给定的电子邮件地址是否已经为其他用户注册。) 如果尚未注册电子邮件地址,则将返回空字段。 (这可能就是为什么在您的情况下没有打印出来的原因。请尝试使用您确定要在数据库中的电子邮件地址。)

答案 7 :(得分:0)

$resultemp = mysql_query("select count(*) AS count from registeredUsers where email='{$_SESSION['username']}'");

// Verify mySQL Query Rresult

if (!$resultemp) echo mysql_error();

// Convert mySQL Result for PHP

$counter=mysql_fetch_assoc($resultemp);
$counter=$counter['count'];

// Print Total Employees

echo $counter;

答案 8 :(得分:0)

您需要使用mysql_fetch_array()在用户定义的变量中返回值。然后必须打印返回的值。

 $result=mysql_query("select count(*) from registeredUsers where email='{$_SESSION['username']}'")
 $COUNT_NUMBER=mysql_fetch_array($result); 
 echo "<br>1.Count=" .$COUNT_NUMBER[0]; 

答案 9 :(得分:-2)

尝试在回显之前将其强制转换为字符串。作为int,0将显示为空字符串。