首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Zend Framework中转义复杂的sql?

如何在Zend Framework中转义复杂的sql?
EN

Stack Overflow用户
提问于 2009-04-12 00:28:09
回答 7查看 14.4K关注 0票数 11

我有以下sql语句(对实际问题的简化):

代码语言:javascript
运行
复制
SELECT *
FROM t
WHERE myname LIKE '%{$input}%';

我如何逃脱$input?

我不能使用quoteInto (除非我遗漏了什么)。

作为

代码语言:javascript
运行
复制
$sql=$DB->quoteInto("SELECT *
                     FROM t
                     WHERE myname LIKE '%?%'",$input);

将会给我

代码语言:javascript
运行
复制
SELECT *
FROM t
WHERE myname LIKE '%'my input'%';

代码语言:javascript
运行
复制
$sql=$DB->quoteInto("SELECT *
                     FROM t
                     WHERE myname LIKE ?",'%'.$input.'%');

会给我一些线索:

代码语言:javascript
运行
复制
SELECT *
FROM t
WHERE myname LIKE '\%my input\%';
EN

Stack Overflow用户

发布于 2011-03-23 03:55:16

解决方案非常简单。Zend_Db甚至有一个表达式类可以帮助你解决这个问题。

代码语言:javascript
运行
复制
$select = $this->select()
->where('value LIKE("?")', new Zend_Db_Expr('%' . $value . '%'))

$this->fetchAll( $select );
票数 3
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/741053

复制
相关文章

相似问题

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