【问题标题】:What is the difference between PDO fetchAll() and fetch_all()?PDO fetchAll() 和 fetch_all() 有什么区别?
【发布时间】:2016-04-03 08:24:35
【问题描述】:

我正在尝试使用准备好的语句从数据库中获取数据。我是 PDO 的新手,所以我搜索了一下。下面是两种不同的模式给我相同的结果。

模式 1

$pdo=new PDO("mysql:dbname=dummy_db;host=localhost","root","");
$statement=$pdo->prepare("SELECT * FROM mytable");
$statement->execute();
$results=$statement->fetchAll(PDO::FETCH_ASSOC);
print_r($results);

模式 2

$stmt = $conn->prepare("select * from mytable");
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_all(PDO::FETCH_ASSOC);
print_r($row);

以上两种模式都给了我几乎相同的结果,所以我想知道哪一种更适合获取数据,它们之间有什么区别。如果有人指导我,我将不胜感激。

【问题讨论】:

    标签: php mysqli pdo


    【解决方案1】:

    这是一个有趣的问题。

    虽然你可能不知道第二个代码sn-p与PDO无关,属于mysqli,但这个问题还是有一定道理的。

    因为 PDO 的 fetchAll() 比来自 mysqli 的简单 fetch_all() 更有用,这要归功于 PDO::FETCH 常量,让您可以在 dozens different formats 中获取数据。

    这是推荐 PDO 优于 mysqli 的原因之一。

    【讨论】:

    • 感谢分享知识,链接(您在答案中提到)非常好,并且有很多用于获取数据的最佳和简短模式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 2017-06-08
    • 2012-12-02
    • 2011-12-24
    • 2018-11-05
    相关资源
    最近更新 更多