Php 如何检查字符串是否存在于多个X行中
我想知道以下是否可行,以及如何做到: 我想检查我表中的用户名是否出现在5行或更多行中 我的桌子: 我想要的用法示例:Php 如何检查字符串是否存在于多个X行中,php,mysql,Php,Mysql,我想知道以下是否可行,以及如何做到: 我想检查我表中的用户名是否出现在5行或更多行中 我的桌子: 我想要的用法示例: 如果名称(teste)位于5行以上,则执行某些操作。使用HAVING,它允许您按聚合/操纵字段进行筛选 SELECT count(username) as shows_counter from tbl group by username HAVING count(username)>5 $check = mysql_query("SELECT count
如果名称(teste)位于5行以上,则执行某些操作。使用HAVING,它允许您按聚合/操纵字段进行筛选
SELECT count(username) as shows_counter from tbl
group by username
HAVING count(username)>5
$check = mysql_query("SELECT count(name),name
FROM hack_log group by name HAVING count(name)>5");
$check = mysql_num_rows($result);// **Add this row**
if($check){ echo "HACKER!"; }else{ echo "not hacker"; }
- 请使用PDO或mysqli内置对象
$db = new PDO('mysql:host=your_hostname;dbname=your_db;charset=UTF-8', $user, $pass);
$q = $db->prepare('SELECT count(name),name
FROM hack_log group by name HAVING count(name)>5');
$q->execute();
$rows = $q->fetchAll();
$res= count($rows)>0?"Hacker":"No Hacker";
echo $res;
到目前为止你试过什么?您可以简单地在MYSQL查询中进行计数,并查找用户名是否存在于超过5行中。从tbl中选择count(*),其中username='user'就是这样,我不想比较名称,我想让它搜索任何存在于5行以上的名称,然后您只需编写另一个类似于select count(username)的查询,按用户名从tbl组中选择用户名,如果计数大于5,则它存在5次以上。您使用哪个API进行连接?尝试类似的操作[选择yt.name,count(yt.name)作为nooboccurance from yourTableName as yt group by yt.name拥有count(yt.name)>5;]尝试此->$check=mysql\u查询(“选择count(name),来自hack_日志组的名称,按计数(名称)>5“;如果($check){echo“HACKER!”;}其他{echo“not HACKER”}不起作用,总是返回true你想检查是否有任何用户有5个以上的节目吗?是的,即使我没有必要回显“not HACKER”好的,nvm它起作用了,但是我如何返回这个来在if中使用它?@Joao Paulo我编辑了我的答案,你现在有两种方法来实现它。我建议你选择第二条路。