Php PDO fetchAll PDO::FETCH_列是否等效于PDO::FETCH_NUM?
这是密码吗Php PDO fetchAll PDO::FETCH_列是否等效于PDO::FETCH_NUM?,php,sql,pdo,Php,Sql,Pdo,这是密码吗 /* already set up a query with one column in result */ $row['fk_user_pks'] = $q->fetchAll(PDO::FETCH_COLUMN); 相当于: /* already set up a query with one column in result row */ $result = $q->fetchAll(PDO::FETCH_NUM); $row['fk_user_pks'] =
/* already set up a query with one column in result */
$row['fk_user_pks'] = $q->fetchAll(PDO::FETCH_COLUMN);
相当于:
/* already set up a query with one column in result row */
$result = $q->fetchAll(PDO::FETCH_NUM);
$row['fk_user_pks'] = array();
foreach ($result as $r) {
$row['fk_user_pks'][] = $r[0];
}
是的,它们是等效的,如下所示:
<?php
$dbh = new PDO('sqlite::memory:');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->exec(
"CREATE TABLE IF NOT EXISTS `test1` ( " .
" `id` INTEGER, " .
" `whatever` char(10)," .
" PRIMARY KEY (`id`) " .
")"
);
for ($i = 0; $i < 10; $i++) {
$dbh->exec("INSERT INTO test1 (whatever) VALUES ('hejsan')");
}
$q = $dbh->prepare('SELECT id FROM test1');
$q->execute(array());
$ids = $q->fetchAll(PDO::FETCH_COLUMN, 0);
print_r($ids);
$q->execute(array());
$result = $q->fetchAll(PDO::FETCH_NUM);
$ids = array();
foreach ($result as $r) {
$ids[] = $r[0];
}
print_r($ids);
什么让你不能跑和看?@你的常识,懒惰。顺便说一句,我喜欢你的保险箱。:)请多加一些文档,我不懂。我总是准备好一个测试文件,以便在一秒钟内验证我想到的任何想法。我认为这个文件是我能拥有的最可靠的信息源,甚至比PHP文档更好。更不用说堆栈溢出,它的额定值低于。你想在文档中解释什么话题?@你的常识是心理学。也许我会打开那个测试文件。:)无论如何,我想看一些关于插入、更新等的文档。一个完整的CRUD示例。@YourCommonSense,好吧,不需要我一秒钟,大约20分钟。:)