我不确定这是否是使用 mysql 的正确功能,但我想知道是否有人可以帮助我解决我遇到的这个问题
前任:
我有这些值的 mysql
id name
1 house_home
2 movie_film
3 restaurant_food
因此,如果我试图找到movie
,它应该得到movie_film的值。
strpos 函数是这种情况的正确函数吗?还是有别的办法?
$string = 'movie';
$query = $db->prepare("SELECT * FROM values WHERE name = ?";
$query->execute(array($string));
while($row = $query->fetch(PDO::FETCH_ASSOC)){
echo $row['name']; //this should output movie_film
}
提前感谢您的帮助!
使用 strpos,您将获得该字符串的位置,然后修剪所需的长度
使用LOCATE('substring', 'mainstring')
功能
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_locate
您可以在 SQL 中使用LIKE
运算符。
SELECT * FROM values WHERE name LIKE '%?%'
请尝试LIKE operator
SELECT * from values where name LIKE '%?%';