gpt4 book ai didi

php - 为什么反引号在 PDO 查询中失败?

转载 作者:太空宇宙 更新时间:2023-11-03 10:48:03 24 4
gpt4 key购买 nike

<分区>

我有一个名称中带有连字符的表,我无法更改表名,所以我认为反引号会有所帮助。

不幸的是,它失败了,一些谷歌搜索没有给我任何答案。我该如何解决这个问题?

例如:

    $stmt = $this->_dbh->prepare(
'UPDATE `:table`
SET status = NOT status
WHERE id=:id;');


$stmt->bindParam(':table',$this->_settings['table'], PDO::PARAM_STR);
$stmt->bindParam(':id',$data['id'], PDO::PARAM_INT);
if( $stmt->execute() ){
return 'Success';
}
else{
$this->_log( $stmt->errorInfo() );
return 'Action failed.';
}

在日志中,带反引号:

13:25:18    42S02
1146
Table 'db_name.'table-name'' doesn't exist

没有反引号:

13:38:14    42000
1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''table-name'
SET status = NOT status
WHERE id='1'' at line 1

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