gpt4 book ai didi

PHP PDO 语句 MySQL 查询失败

转载 作者:行者123 更新时间:2023-11-29 08:58:52 25 4
gpt4 key购买 nike

我在通过 PHP 更新表时遇到困难。使用 MySQL 提示符或客户端应用程序,SQL 命令工作正常,但当我在 PHP 中使用 PDO 尝试它时,它失败了。

我已经删除了“desc”字段,并且 PHP 脚本可以正常工作。我认为它与 ASC/DES

混淆了
$conn = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$sql = "UPDATE Menu SET name=:name, desc=:desc WHERE id = :id"

$st = $conn->prepare ( $sql );


$st->bindValue( ":id", $this->id, PDO::PARAM_INT );
$st->bindValue( ":name", $this->name, PDO::PARAM_STR );
$st->bindValue( ":desc", $this->name, PDO::PARAM_STR );


$b = $st->execute();

我很确定它只是从字段名称到 SQL 语言构造混淆,但是有没有办法告诉 PDO 对象/准备好的语句 desc 是字段名称?

即链接的东西

(this does not work by the way)
$sql = "UPDATE Menu SET name=:name, \'desc\'=:desc WHERE id=:id

最佳答案

您有 id = 1,而不是 id = :id

您无法绑定(bind)到不存在的参数。

此外,DESC 是一个保留字,如果不使用反引号引用它,就无法使用它。

$sql = "UPDATE `Menu` SET `name`=:name, `desc`=:desc WHERE `id`=:id"

关于PHP PDO 语句 MySQL 查询失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9172757/

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