私は次の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\%';