首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每条MySQL语句都需要一个新的查询对象吗?

问每条MySQL语句都需要一个新的查询对象吗?
EN

Stack Overflow用户
提问于 2011-08-09 04:52:51
回答 1查看 92关注 0票数 2

我试图编译几个MySQL语句,并在同一个请求中执行它们,但我一直收到MySQL语法错误:

代码语言:javascript
复制
local.sql = "";
for (local.i in this.hitArray)
{
    local.sql &= "UPDATE posts SET viewCount = posts.viewCount + 1 WHERE posts.id = #local.i.postId#;";
}
local.service.setSQL(local.sql);

原始SQL转储(local.sql var):

UPDATE posts SET viewCount = posts.viewCount + 1 WHERE posts.id = 95;UPDATE posts SET viewCount = posts.viewCount + 1 WHERE posts.id = 95;UPDATE posts SET viewCount = posts.viewCount + 1 WHERE posts.id = 95;

查询似乎就在第一条语句的末尾阻塞。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-09 04:58:14

默认情况下,MySQL会禁用多条语句以防止sql注入。您必须将allowMultiQueries标志添加到连接字符串中才能启用它们。

注意:显然,如果您启用了多个语句,那么所有查询都使用cfqueryparam或addParam是非常重要的,因为您现在面临着sql注入的风险。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6988418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档