Php 将mysql_fetch_数组转换为PDO::fetch_NUM
PDO中这两个代码的等价物是什么 第一:Php 将mysql_fetch_数组转换为PDO::fetch_NUM,php,mysql,pdo,Php,Mysql,Pdo,PDO中这两个代码的等价物是什么 第一: $row=mysql_fetch_array($query); 第二: while($row=mysql_fetch_array($query)){ $data[]=$row; } 我在下面使用了这些代码,但我想它们并不完全相同,因为其余的代码不起作用 $row = $query->fetch(PDO::FETCH_NUM); 及 您应该能够通过以下方式获取数组中的查询数据: $data = $query->fetch(P
$row=mysql_fetch_array($query);
第二:
while($row=mysql_fetch_array($query)){
$data[]=$row;
}
我在下面使用了这些代码,但我想它们并不完全相同,因为其余的代码不起作用
$row = $query->fetch(PDO::FETCH_NUM);
及
您应该能够通过以下方式获取数组中的查询数据:
$data = $query->fetch(PDO::FETCH_BOTH);
如果这不起作用,您的PDO连接可能没有正确设置,或者您的查询没有运行。您可以尝试使用以下方法对查询进行故障排除:
try {
$query->execute();
} catch (PDOException $e) {
echo 'Query failed: ' . $e->getMessage();
}
以下是通讯:
=mysql\u fetch\u数组
-行是同时具有数字索引和命名索引的数组fetch(PDO::fetch\u两者)
=mysql\u fetch\u assoc
-行是具有命名索引的数组fetch(PDO::fetch\u assoc)
=mysql_fetch_row
这些行是带有数字索引的数组fetch(PDO::fetch_NUM)
=mysql\u-fetch\u对象
或fetch(PDO::fetch\u-OBJ)
取决于是否为fetch(PDO::fetch\u-CLASS)
指定可选的mysql\u-fetch\u对象
参数。行是指定类或className
中的对象stdClass
while
循环相当于:
$data = $query->fetchAll(PDO::FETCH_BOTH)
谢谢你的回答。我知道这个密码是有效的。然而,我正在寻找一个脚本,当我使用旧代码进行更改时,它的工作原理是相同的。因为剩下的代码非常长,如果我做了很多更改,我将不得不全部更改,所以您确信查询执行得很好吗?@RubyMewMew它应该是
PDO::FETCH_BOTH
,以匹配原始代码。旁注:在开发(仅)期间,最好使用$PDO->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_异常);代码>在连接打开后立即执行。仅仅做一个捕获(PDOException$e)
并不总是足够的。
$data = $query->fetchAll(PDO::FETCH_BOTH)