将mysql_fetch_array转换为PDO :: FETCH_NUM
问题描述:
这两个代码在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)
orfetch(PDO::FETCH_CLASS)
depending on whether you specify the optionalclassName
argument tomysql_fetch_object
. The rows are objects, either of the specified class orstdClass
.
while
循环等效于:
$data = $query->fetchAll(PDO::FETCH_BOTH)