4

我不确定这是否是使用 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
}

提前感谢您的帮助!

4

3 回答 3

21

使用 strpos 您将获得该字符串的位置,然后修剪您想要的长度

使用LOCATE('substring', 'mainstring')功能

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_locate

于 2013-11-11T19:19:33.507 回答
2

您可以LIKE在 SQL 中使用“运算符”。

SELECT * FROM values WHERE name LIKE '%?%'

于 2012-06-16T05:06:06.707 回答
1

请尝试LIKE operator一下

SELECT * from values where name LIKE '%?%';
于 2012-06-16T05:12:23.553 回答