是否可以检查 sql 来查看是否有任何记录包含字符串中的任何单词?
例如
<?
$tags = "rock indie pop britpop alternative";
$result1 = mysql_query("SELECT * FROM `Stations` WHERE `tags` LIKE '%$tags%'" );
$num_rows1 = mysql_num_rows($result1);
echo $num_rows1;
?>
将返回 1 个结果。
目前,由于字符串有多个单词,因此不会返回任何内容。
杰米
最佳答案
你可以这样做:
$tags = explode(' ', $tags);
$tags = implode("%' OR `tags` LIKE '%", $tags);
这应该会给你一些效果:
SELECT * FROM `Stations` WHERE `tags` LIKE '%rock%' OR `tags` LIKE '%indie%' OR `tags` LIKE '%pop%' OR `tags` LIKE '%britpop%' OR `tags` LIKE '%alternative%'
所以:
<?
$tags = "rock indie pop britpop alternative";
$tags = explode(' ', $tags);
$tags = implode("%' OR `tags` LIKE '%", $tags);
$result1 = mysql_query("SELECT * FROM `Stations` WHERE `tags` LIKE '%$tags%'" );
$num_rows1 = mysql_num_rows($result1);
echo $num_rows1;
关于php 检查sql数据库以查看它是否包含与字符串相似的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23643288/