Php SQL总是只检查第一个结果
我有SQL表“ip_日志” 我想做的是: 如果成员Ip$\u服务器['REMOTE\u ADDR']已在Ip\u日志表中..此消息将显示“对不起!!” 问题是系统总是只检查IP_日志表中的第一个IP 我的代码是:Php SQL总是只检查第一个结果,php,sql,Php,Sql,我有SQL表“ip_日志” 我想做的是: 如果成员Ip$\u服务器['REMOTE\u ADDR']已在Ip\u日志表中..此消息将显示“对不起!!” 问题是系统总是只检查IP_日志表中的第一个IP 我的代码是: <? $link=mysql_connect("localhost","DBUSER","DBPASS","DBNAME") ; mysql_select_db("DBNAME",$link) ; $sql=mysql_query("SELECT * FROM
<?
$link=mysql_connect("localhost","DBUSER","DBPASS","DBNAME") ;
mysql_select_db("DBNAME",$link) ;
$sql=mysql_query("SELECT * FROM ip_logs");
$rexu=mysql_fetch_array($sql);
if( $rexu[routing_ip]=="".$_SERVER['REMOTE_ADDR']."" ) {
echo ' Sorry !! ';
}
?>
请帮帮我…怎么了 您希望搜索单个IP,而不是批处理 做一些类似于:
'SELECT routing_ip FROM ip_logs WHERE routing_ip = "'.$_SERVER['REMOTE_ADDR'].'"'
您使用的fech仅为第一行,您需要使用:
试试这个:
$sql=mysql_query("SELECT * FROM ip_logs");
for($x = 1 ; $x <= mysql_num_rows($sql) ; $x++){
$row = mysql_fetch_assoc($sql);
if( $row[routing_ip]=="".$_SERVER['REMOTE_ADDR']."" ) {
echo ' Sorry !! ';
}
}
$sql=mysql\u查询(“从ip\u日志中选择*);
对于($x=1;$x您是:
- 查询所有记录
- 检索(仅)第一个结果
- 检查一下你的情况
相反,您希望:
- 查询一条与您的条件匹配的记录
SQL已经具有条件功能(其中
),所以请使用它们。将IP地址存储为实际数字,而不是虚线四元表示法中的字符串
$sql= mysql_query("SELECT * FROM ip_logs");
if ($sql != NULL && mysql_num_rows($sql)>0)
{
while ($row = mysql_fetch_object($sql))
{
if ($row->routing_ip == $_SERVER['REMOTE_ADDR']) { echo ' Sorry !! ';}
}
}
$sql= mysql_query("SELECT * FROM ip_logs");
if ($sql != NULL && mysql_num_rows($sql)>0)
{
while ($row = mysql_fetch_object($sql))
{
if ($row->routing_ip == $_SERVER['REMOTE_ADDR']) { echo ' Sorry !! ';}
}
}