gpt4 book ai didi

php - 使用 PDO 更新查询会引发错误

转载 作者:行者123 更新时间:2023-11-29 08:22:14 26 4
gpt4 key购买 nike

我正在尝试掌握 PDO,但出现以下错误:

在非对象上调用成员函数execute()

这是我更新members表的代码

$firstname = ($_POST['firstname']);
$lastname = ($_POST['lastname']);

$update = query("UPDATE members SET
firstname = '$firstname',
lastname = '$lastname',
WHERE id = '$id'" );

$q = $conn->prepare($update);
$q->execute(array($firstname,$lastname));

我在这里做错了什么?

最佳答案

您在变量周围使用括号会使它们成为真/假,这不是您的意图。然后,使用准备好的语句的全部目的不是直接将数据插入查询中,而是使用 ?或 :someVariable 因此它们将被正确转义并可用于多个插入。尝试如下操作:

$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$id = $_POST['id'];


$update = query("UPDATE members SET firstname = ?, lastname = ? WHERE id = ?");
$q = $conn->prepare($update);
$q->execute(array($firstname,$lastname,$id));

//OR

$update = query("UPDATE members SET firstname = :firstname , lastname = :lastname WHERE id = :id");
$q = $conn->prepare($update);
$q->execute(array('firstname'=>$firstname,'lastname'=>$lastname,'id'=>$id));

关于php - 使用 PDO 更新查询会引发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19042038/

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