fetch-6ren">
gpt4 book ai didi

php - PDO 的查询与执行

转载 作者:行者123 更新时间:2023-11-29 15:38:46 26 4
gpt4 key购买 nike

他们都做同样的事情,只是不同吗?

除了使用prepare之间还有什么区别

$sth = $db->query("SELECT * FROM table");
$result = $sth->fetchAll();

$sth = $db->prepare("SELECT * FROM table");
$sth->execute();
$result = $sth->fetchAll();

最佳答案

query运行没有参数化数据的标准 SQL 语句。

execute运行一个准备好的语句,它允许您绑定(bind)参数以避免需要转义或引用参数。如果多次重复查询,execute 的性能也会更好。准备好的语句示例:

$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit
WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories);
$sth->bindParam(':colour', $colour);
$sth->execute();
// $calories or $color do not need to be escaped or quoted since the
// data is separated from the query

最佳实践是坚持使用准备好的语句并执行以提高安全性

另请参阅:Are PDO prepared statements sufficient to prevent SQL injection?

关于php - PDO 的查询与执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57904456/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com