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

LIKESQL では「演算子」を使用できます。

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 に答える