【问题标题】:PHP Yii1 Syntax error or access violation: 1064PHP Yii1 语法错误或访问冲突:1064
【发布时间】:2023-03-26 00:40:01
【问题描述】:

这是我的代码:

TableName::db()->updateAll(array('updated' => 'NOW()'), "WHERE userID
    = ". (string)$id);

这是我收到的错误消息:

CDbCommand 未能执行 SQL 语句:SQLSTATE[42000]: 语法错误或访问冲突:1064 您的 SQL 中有错误 句法;检查与您的 MariaDB 服务器相对应的手册 在“WHERE userID = 1043”附近使用正确语法的版本 1.执行的SQL语句为:UPDATETableNameSETupdated=:yp0 WHERE WHERE userID = 1043;。绑定:yp0='NOW()'

SQL 更新查询将成功执行,但我想修复此错误。

有人提示我如何修复此错误?

【问题讨论】:

  • 看起来你只需要删除"WHERE userID =中的WHERE
  • 哇,这很容易!现在它可以工作了。感谢您的帮助,祝您有美好的一天。
  • 唯一没用的是它总是输入“01.01.1970 01:00:00”而不是 NOW()
  • 尝试将'NOW' 更改为date('d-m-Y H:i:s'),或任何其他php format

标签: php sql yii mariadb


【解决方案1】:

解决方案:

TableName::model()->updateAll(array('updated' =>  new CDbExpression('NOW()')), "userID= ". (string)$id);

SQL 更新查询将成功。祝你好运

【讨论】:

    猜你喜欢
    • 2017-03-06
    • 2014-10-30
    • 2018-07-02
    • 2017-10-08
    • 2015-10-12
    • 2014-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多