0

早上好,我需要一些帮助。我正在使用 mysql_fetch_row(),它从结果集中获取单个记录作为索引数组(按数字引用元素的数组)。但我无法将任何值传递给我的变量

//get the total number of images
$getTotal = "SELECT COUNT(*) FROM images";
$total = mysql_query($getTotal); 
$rows = mysql_fetch_assoc($total);
$totalPix = $rows[0];

我试图将一个元素或单个记录传递到我的变量 totalPix 中,有没有其他方法可以实现这一点。感谢您

4

3 回答 3

1

$rows将包含一个返回的字段数组,即使它只是 COUNT(*)。

尝试:

$totalPix = $rows['COUNT(*)'];

...或COUNT在您的查询中命名:

SELECT COUNT(*) as totalcount FROM images
...
$totalPix = $rows['totalcount'];

--edit-- 从关联数组返回中删除 0

于 2013-10-18T02:25:15.267 回答
1

将您的查询更改为

$getTotal = "SELECT COUNT(*) AS Total FROM images";

$totalPix = $rows['Total'];

因为您使用的是mysql_fetch_assoc,它返回一个与获取的行相对应的关联数组。

你也应该转移到 mysqli 或 PDO

mysql_* 扩展自 PHP 5.5.0 起已弃用,将来将被删除。相反,应该使用 MySQLi 或 PDO_MySQL 扩展。另请参阅 MySQL:选择 API 指南

于 2013-10-18T02:26:23.853 回答
0

好吧,关联数组不是数字的。所以使用0索引是行不通的。

$rows['COUNT(*)']由于您正在使用该查询,因此您将需要使用。

于 2013-10-18T02:25:29.877 回答