gpt4 book ai didi

php - 检查字符串是否包含数据库中的用户名以使消息变为绿色

转载 作者:行者123 更新时间:2023-11-29 14:06:15 26 4
gpt4 key购买 nike

我正在尝试从数据库中获取用户名列表,以查看消息是否包含@username,现在我有以下代码:

if (strpos($data[3], '@') !== false) {
$user_array_thing = array();
$user_query = mysql_query("SELECT username FROM users");
while($user_username = mysql_fetch_array($user_query) && in_array($data[4],$user_array_thing) === false){
if(strpos($data[3],'@'.$user_username['username']) !== false){
//echo a message to somebody
echo '<li class="qn"><a href="/status/index.php?user='.$prof_user.'&status='.$data[4].'" class="qn_vis"><font color="#007a00"><b><< '.$data[2].':</b>&nbsp;&nbsp;'.$data[3].'</font> - <font size="1" color="#a3a3a3">'.Timesince(strtotime($time)).' ago</font></a></a><!--<div id="delete'.$data[4].'" style="display:none; margin:0px;" class="qn_div"><form method="post" action=""><input type="hidden" name="messageid" id="messageid" value="'.$data[4].'" /><input class="button small red" type="submit" id="delete" name="delete" value="Delete" /></form><br></div>-->';
$user_array_thing[] = $data[4];
}
}
} else {
$data[3] = preg_replace('|\B#([\d\w_]+)|i', '<font color="#8020E0">$0</font>', $data[3]);
$data[3] = preg_replace('|\B\@([\d\w_]+)|i', '<font color="#1378E0">$0</font>', $data[3]);
echo '<li class="qn"><a href="/status/index.php?user='.$prof_user.'&status='.$data[4].'" class="qn_vis"><img src="/images/icons/web/Bubble3.png" /><font color="#147CE6"><b>'.$data[2].' said</font>:</b>&nbsp;&nbsp;'.$data[3].'<font size="1" color="#a3a3a3"> - '.$commentcount.''.Timesince(strtotime($time)).' ago</font></a></a>';
}

它工作得很好,直到您发布带有电子邮件地址的内容,例如“someone@gmail.com”

gmail.com 不在数据库中,但仍呈绿色。我不知道我做错了什么,我已经尝试了几天来解决这个问题,但没有成功。任何建议都会很好

最佳答案

为什么不直接使用数据库来为您完成这项工作?

<?php
$username = mysql_real_escape_string ($data['username']); // or wherever you're getting the username from
$query = mysql_query ("SELECT id FROM users WHERE username='$username'");

if (mysql_num_rows($query) > 0) {
// that username sure does exist in the database!
}
else {
// poo!
}

另请注意,ext/mysql 已正式弃用(从 PHP 5.5.0 开始),不应使用。建议您使用 MySQLiPDO MySQL用于连接到 MySQL。

希望这有帮助

关于php - 检查字符串是否包含数据库中的用户名以使消息变为绿色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14305428/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com