我有以下sql语句(对实际问题的简化):
SELECT *
FROM t
WHERE myname LIKE '%{$input}%';我如何逃脱$input?
我不能使用quoteInto (除非我遗漏了什么)。
作为
$sql=$DB->quoteInto("SELECT *
FROM t
WHERE myname LIKE '%?%'",$input);将会给我
SELECT *
FROM t
WHERE myname LIKE '%'my input'%';和
$sql=$DB->quoteInto("SELECT *
FROM t
WHERE myname LIKE ?",'%'.$input.'%');会给我一些线索:
SELECT *
FROM t
WHERE myname LIKE '\%my input\%';发布于 2011-03-23 03:55:16
解决方案非常简单。Zend_Db甚至有一个表达式类可以帮助你解决这个问题。
$select = $this->select()
->where('value LIKE("?")', new Zend_Db_Expr('%' . $value . '%'))
$this->fetchAll( $select );https://stackoverflow.com/questions/741053
复制相似问题