ZF2中的SQL查询语法错误

时间:2017-02-22 07:47:44

标签: php mysql sql zend-framework2

我在我的应用程序中使用了zend framework 2。我想简单地执行这个查询...

$sql = "INSERT INTO tbl_group(group_name, group_order, version_id_fk, group_code)
                            SELECT group_name, group_order, {$newVersionId}, $this->getServiceLocator()->get('commonService')->randomMD5() FROM tbl_group
                            WHERE version_id_fk = {$versionArray['version_id_pk']}";

但是我收到了这个错误:

  

SQLSTATE [42000]:语法错误或访问冲突:1064您有   SQL语法错误;查看与您的手册相对应的手册   MySQL服务器版本为正确的语法使用附近   ') - > get(' commonService') - > randomMD5()FROM tbl_group                                 版本号_id_fk'在第2行

有谁能建议我如何解决这个问题?

谢谢!

2 个答案:

答案 0 :(得分:1)

句点(。)是PHP中的连接运算符,您正在编写SQL。

应为CURRENT_TIMESTAMP + RAND()

不选择CURRENT_TIMESTAMP . RAND()

答案 1 :(得分:0)

有多个错误,但错误消息所指的错误是由于服务定位器调用周围缺少括号。

它试图将您的PHP代码作为sql执行。

{$ this-> getService ...}