我尝试使用预准备语句从数据库中获取数据。我是PDO的新手,所以我搜索了一下。下面是两个不同的模式,给我相同的结果。
$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);
$stmt = $conn->prepare("select * from mytable");
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_all(PDO::FETCH_ASSOC);
print_r($row);
在这两种模式之上给出了几乎相同的结果,所以我想知道哪一个对于获取数据是好的,它们之间有什么区别。如果有人指导我,我很感激。
答案 0 :(得分:1)
这是一个有趣的问题。
虽然您可能没有意识到第二个代码片段与PDO无关且属于mysqli,但这个问题仍然有道理。
因为PDO' fetchAll()
比mysqli中的简单fetch_all()
更有用,感谢PDO::FETCH
常量,让您在dozens different formats中获取数据。< / p>
这是推荐使用PDO而不是mysqli的原因之一。