php - mysql_fetch_array,似乎没有返回值

标签 php mysql mamp

我在 $result 中有一个 SQL 查询的结果,

$result = $query->fetchall((PDO::FETCH_ASSOC));

它在 var 转储上看起来像这样:

  array(7) {
    ["index"]=>
    string(2) "59"
    ["user_id"]=>
    string(32) "154FA6BFDFAA3B283452E84DCC41AF1D"
    ["trigger_price"]=>
    string(2) "33"
    ["currency"]=>
    string(1) "$"
    ["direction"]=>
    string(1) ">"
    ["title"]=>
    string(1) "T"
    ["date_set"]=>
    string(19) "2013-10-09 07:21:17"
  }

当我尝试循环访问结果集的元素时,不会打印任何内容。我正在使用这段代码:

while ($row = mysql_fetch_array($result) )
{
    echo $row["title"];
}

我发现 PHP 中有太多的绊脚石,这让我发疯,就像有 10 种方法可以做所有事情,但似乎只有一种有效!!

我正在使用 MAMP,因此语法可能略有不同,请为任何可以提供帮助的人提供正确答案。

我也尝试过:

    while ($row = mysql_fetch_array($result, MYSQL_NUM))

和:

while ($row = mysql_fetch_row($result)){
    echo $row;
}

最佳答案

使用 PDOStatement::fetchAll() 后,您可以使用简单的 foreach 迭代数组:

foreach($result as $row)
{
    echo $row["title"];
}

或者,您可以使用 PDOStatement::fetch(),而不是使用 PDOStatement::fetchAll(),它大致相当于 mysql_fetch_array() :

while ($row = $query->fetch(PDO::FETCH_ASSOC))
{
    echo $row["title"];
}

mysql_* 函数不能与 PDO 互换,并且已被弃用和不鼓励。

关于php - mysql_fetch_array,似乎没有返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19265255/

相关文章:

php - 我应该如何将这些表加入MySQL?

mysql - 如何创建具有 OnetoMany 和 ManytoOne 关系的实体?

mysql - 如何在我的数据库 ER 模型中链接员工、主管和主管

python - 用于 Python 的 MySQLdb - 不兼容的库版本错误?

macos - Mamp Pro 4 : Apache won't start

mamp - 杀死一个 mysqld 进程会导致另一个 mysqld 进程立即启动

mysql - #2006 错误 : MySQL server has gone away when I try to drop a database

PHP 验证 - 将 http POST 值传递给第三方结帐

php - Magento 从自定义数据库表中获取唯一值

javascript - PHP-GET + Jquery 添加/删除类