您还可以说:
SELECt wrd FROM tablename WHERe wrd LIKE CONCAt(:partial, '%')
在MySQL末尾进行字符串连接,并不是在这种情况下有任何特殊原因。
如果
wrd要查找的部分本身可以包含百分比或下划线字符(因为这些字符对LIKE运算符具有特殊含义)或反斜杠(MySQL用作LIKE运算符的另一种转义层),则事情会变得更加棘手。,根据ANSI
SQL标准)。
希望这不会影响您,但是如果您确实需要解决此问题,则可以使用以下凌乱的解决方案:
$stmt= $db->prepare("SELECt wrd FROM tablename WHERe wrd LIKE :term ESCAPE '+'");$escaped= str_replace(array('+', '%', '_'), array('++', '+%', '+_'), $var);$stmt->bindParam(':term', $escaped);


