Yii Framework/PDO 出现错误 CDbCommand 无法执行 SQL 语句:SQLSTATE[42000]

发布于 2024-08-22 18:34:02 字数 1212 浏览 3 评论 0原文

我正在尝试使用 Yii 框架和 PDO 对象将一些数据插入表中,并收到以下错误

我正在使用此代码构建查询

$connection = CActiveRecord::getDbConnection();

        $sql="INSERT INTO sms_logs (to, from, message,error_code,date_send) VALUES (:to,:from,:message,:error_code,:date_send)";
        $command=$connection->createCommand($sql);
        $command->bindParam(":to",$to,PDO::PARAM_STR);
        $command->bindParam(":from",$from,PDO::PARAM_STR);
        $command->bindParam(":message",$message,PDO::PARAM_STR);
        $command->bindParam(":error_code",$code,PDO::PARAM_STR);
        $command->bindParam(":date_send",date("Y-m-d H:i:s"),PDO::PARAM_STR);
        $command->execute();

然后一旦我运行代码,我将

CDbCommand failed to execute the SQL statement: SQLSTATE[42000]: Syntax error or access violation: 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 'to, from, message,error_code,date_send) VALUES ('27724963345','27723663542','Hap' at line 1INSERT INTO sms_logs (to, from, message,error_code,date_send) VALUES (:to,:from,:message,:error_code,:date_send)

欢迎任何建议!使用mysql作为数据库

I'm trying to insert some data into a table using the Yii Framework together with the PDO object and get the following error

I'm building the query using this code

$connection = CActiveRecord::getDbConnection();

        $sql="INSERT INTO sms_logs (to, from, message,error_code,date_send) VALUES (:to,:from,:message,:error_code,:date_send)";
        $command=$connection->createCommand($sql);
        $command->bindParam(":to",$to,PDO::PARAM_STR);
        $command->bindParam(":from",$from,PDO::PARAM_STR);
        $command->bindParam(":message",$message,PDO::PARAM_STR);
        $command->bindParam(":error_code",$code,PDO::PARAM_STR);
        $command->bindParam(":date_send",date("Y-m-d H:i:s"),PDO::PARAM_STR);
        $command->execute();

And then as soon as I run the code I get

CDbCommand failed to execute the SQL statement: SQLSTATE[42000]: Syntax error or access violation: 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 'to, from, message,error_code,date_send) VALUES ('27724963345','27723663542','Hap' at line 1INSERT INTO sms_logs (to, from, message,error_code,date_send) VALUES (:to,:from,:message,:error_code,:date_send)

any suggestions will be welcome! using mySql as the db

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

︶ ̄淡然 2024-08-29 18:34:02

您需要在 $sql 中转义单词 from。它是一个保留字

You need to escape the word from in your $sql. It is a reserved word.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文