gpt4 book ai didi

php - 执行 PDO 语句的更好方法

转载 作者:行者123 更新时间:2023-11-30 22:45:19 26 4
gpt4 key购买 nike

我目前正在以这种方式更新我的数据库

$db = new PDO('mysql:host=localhost;dbname=database;charset=utf8', 'username', 'password');
$updo = $db->prepare("UPDATE table SET weight = :weight WHERE height = 28");
$updo->execute(array(':weight' => $weight));

这是正确的程序吗?有什么改进建议吗?在 PHP 手册中,他们这样写 prepare 语句

$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));

这个额外的数组让我很困惑。我是第一次使用 PDO,所以想把事情搞清楚。

最佳答案

您的方法会起作用,但默认情况下会将绑定(bind)参数转义为字符串。我认为最佳做法是使用 bindParam指定 $weight 应该是一个整数,如下所示:

$db = new PDO('mysql:host=localhost;dbname=database;charset=utf8', 'username', 'password');
$updo = $db->prepare("UPDATE table SET weight = :weight WHERE height = 28");
$updo->bindParam(':weight', $weight, PDO::PARAM_INT);
$updo->execute();

关于php - 执行 PDO 语句的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29822416/

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