使用COUNT时,sql查询返回字符串而不是整数

时间:2014-11-27 12:20:39

标签: php sql

$query_products_records="SELECT @MyInt=COUNT(*) FROM products";
$result_query_products_records=mysql_query($query_products_records);
echo 'table records ...'.$result_query_products_records;

我使用上面的查询来获取表中的行数,但我得到了

Resource id #4关于echo。

我在表格中有3条记录。

4 个答案:

答案 0 :(得分:0)

mysql_query创建资源。

该资源应与mysql_fetch_row()一起使用。

mysql_fetch_row(mysql_query($query));

例如。或者在while循环中使用它来提取多个结果。

PS:还考虑在mysql上使用mysqli扩展。不推荐使用。

工作代码

$result_data = mysql_fetch_assoc(mysql_query("SELECT COUNT(*) as c FROM products"));
echo 'table records ...'. $result_data['c'];

答案 1 :(得分:0)

您没有获取结果集。您在mysql_query()上使用echo,因此Resource id #4输出。使用mysql_fetch_assoc()mysql_fetch_array()获取结果集,然后回显它。

$res = mysql_fetch_assoc($result_query_products_records);
// then echo as per required

答案 2 :(得分:0)

喜欢 -

$mysqli = new mysqli('host', 'username', 'password', 'database');//connection
$qry = "SELECT COUNT(*) AS total FROM products";
$result = mysqli_query($mysqli, $qry);//execute query
$res = mysqli_fetch_assoc($result);//fetch data
echo $res['total'];

答案 3 :(得分:-1)

使用以下代码

$query_products_records="SELECT anyFieldNeedInYourTable FROM products";
 $records=mysql_query($query_products_records);
 $result_query_products_records=mysql_num_rows(); 
echo 'table records ...'.$result_query_products_records;

并且不要忘记将anyFieldNeedInYourTable替换为true。 并考虑搬入mysqli