关于问题和以下内容,我有一个小代码,用于检查表字段中是否存在特定的“标记”,我尝试执行以下操作:
<?php
$value = "e-sports";
$test = array();
$take = mysqli_query($conexao,"SELECT * FROM news WHERE game LIKE '%$value%' OR tags LIKE '%$value%' ");
while ($info = mysqli_fetch_array($take)) {
$test[] = $info['tags'];
if (in_array($value, $test)) {
echo "ok";
}else{
echo "not";
}
}
?>
但这并没有成功。我想知道它是否有更好的形状,或者可以用什么来代替。
3条答案
按热度按时间vq8itlhq1#
看起来像是
tags
数据库的列是某种包含多个标记的列表,例如。'tag1,tag2,tag3'
,所以您的解决方案和rod elias的解决方案不能通过简单的字符串比较来实现。相反,应该将字符串分解为一个数组,然后进行搜索。设置的值
$tagseparator
在数据库中,标签被划分成什么样。请注意,如果要逐行检查而不是在整个结果集中检查,只需将测试更改为
a0zr77ik2#
我有一个不使用while循环的解决方案
shyt4zoc3#
你为什么不干脆做:
?