将 mysql_fetch_array 转换为 PDO::FETCH_NUM

2021-12-26 00:00:00 php mysql pdo

这两个代码在PDO中的等价物是什么

What is the equivalent of these two code in PDO

第一:

  $row=mysql_fetch_array($query);

第二个:

 while($row=mysql_fetch_array($query)){
   $data[]=$row;
 }

我在下面使用了这些代码,但我猜它们并不完全相同,因为其余的代码不起作用.

i used these codes below but they are not exact same i guess, because the rest of the code didn't work.

$row = $query->fetch(PDO::FETCH_NUM);

 $data[] = $query->fetch(PDO::FETCH_ASSOC);

推荐答案

对应关系如下:

  • mysql_fetch_array = fetch(PDO::FETCH_BOTH) - 行是具有数字索引和命名索引的数组.
  • mysql_fetch_assoc = fetch(PDO::FETCH_ASSOC) - 行是具有命名索引的数组.
  • mysql_fetch_row = fetch(PDO::FETCH_NUM) - 行是带有数字索引的数组.
  • mysql_fetch_object = fetch(PDO::FETCH_OBJ)fetch(PDO::FETCH_CLASS) 取决于您是否指定了可选的 mysql_fetch_object 的 >className 参数.行是指定类或 stdClass 的对象.
  • mysql_fetch_array = fetch(PDO::FETCH_BOTH) - The rows are arrays with both numeric and named indexes.
  • mysql_fetch_assoc = fetch(PDO::FETCH_ASSOC) - The rows are arrays with named indexes.
  • mysql_fetch_row = fetch(PDO::FETCH_NUM) - The rows are arrays with numeric indexes.
  • mysql_fetch_object = fetch(PDO::FETCH_OBJ) or fetch(PDO::FETCH_CLASS) depending on whether you specify the optional className argument to mysql_fetch_object. The rows are objects, either of the specified class or stdClass.

while 循环相当于:

$data = $query->fetchAll(PDO::FETCH_BOTH)

相关文章