我在我的应用程序中使用了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行
有谁能建议我如何解决这个问题?
谢谢!
答案 0 :(得分:1)
句点(。)是PHP中的连接运算符,您正在编写SQL。
应为CURRENT_TIMESTAMP + RAND()
不选择CURRENT_TIMESTAMP . RAND()
答案 1 :(得分:0)
有多个错误,但错误消息所指的错误是由于服务定位器调用周围缺少括号。
它试图将您的PHP代码作为sql执行。
{$ this-> getService ...}