gpt4 book ai didi

php - 在 PDO 中,我可以 exec() 一个字符串,但不能 prepare() 然后 execute() 它

转载 作者:行者123 更新时间:2023-12-02 22:30:20 25 4
gpt4 key购买 nike

如果我PDO::exec()一个查询,它的工作原理。但是,当我首先尝试 PDO::prepare() 然后 PDO::execute() , 它 工作。为什么?

例如,这按预期工作:

$db->exec($string);

但这不是:

$stmt = $db->prepare($string);
$stmt->execute();

没有抛出任何错误,$db->errorInfo显示全零,表示成功。

这对我来说绝对是零意义。

编辑上下文:

请注意,newDB()只是一个函数,它使用我在这里需要的设置启动数据库。

当我运行以下命令时,它按预期工作:

$db = newDB();

if (!$error) {
if (isset($id)) {
try {
$db->exec('UPDATE Events SET Title = "WHY" , Date = "2012-11-01 00:00:00", Place = "no", Description = "no", UDate = now() WHERE Id = "12"');
} catch(PDOException $e) {
$error = 1;
}
}
}

$db = null;

然而,这并不知道为什么:

$db = newDB();

if (!$error) {
if (isset($id)) {
try {
$stmt = $db->prepare('UPDATE Events SET Title = "WHY" , Date = "2012-11-01 00:00:00", Place = "no", Description = "no", UDate = now() WHERE Id = "12"');
$stmt->execute();
} catch(PDOException $e){
$error = 1;
}
}
}

$db = null;

最佳答案

是否设置了异常模式?

$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

关于php - 在 PDO 中,我可以 exec() 一个字符串,但不能 prepare() 然后 execute() 它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12380195/

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