我有以下PDO
与LIKE
使用通配符'%'
匹配的部分结果:PDO LIKE返回所有结果,当用户输入%
$value = $_GET["searchValue"];
$dbh = new PDO(DB_DSN, DB_USERNAME, DB_PASSWORD);
$query = $dbh->prepare('SELECT * FROM table WHERE column1 LIKE ? OR column2 LIKE ?');
$query->execute(array("%$value1%","%$value2%"));
我的问题是,当用户输入'%'
或'%%%%%'
,它返回的所有值在database
上,即使没有用%
保存的东西符号con row
。
在此先感谢。
我不想逃避%。基本上,如果用户在搜索框中输入%self,它将返回存储在数据库中的所有结果,但在Db上没有包含百分号的单个行,这意味着它应该找到与0匹配的0行。 –
_“我不想逃避%” - 但如果你希望它是一个字面百分比字符,而不是通配符, – CBroe