0

我有:

$con = mysql_connect($db_server,$db_username,$db_password);
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
  mysql_select_db($db_db, $con);
  mysql_query("INSERT INTO failed_logins SET username = 'pachonk', ip_address = INET_ATON('$ip'), attempted = CURRENT_TIMESTAMP");
 // mysql_close($con);
echo $ip;

$count = get_attempts(); // Get the Number of Attempts
mysql_close($con);
sleep((2 ^ intval($count)) - 1);

function get_attempts(){
    $result = mysql_query("SELECT * FROM failed_logins WHERE ip_address = INET_ATON('$ip')");
    if(mysql_num_rows($result) > 0)
    {
        $num_rows = mysql_num_rows($result);
        return $num_rows;
    }
    else
    {
    echo NO;
        return 0;
    }
}

当我在我的 SQL 服务器上运行第二个查询时,它会按照我想要的方式运行,但是当我通过 php 查询时我得到 0 行。如果我查询“用户名 = pachonk”,这也是我想要的完美方式。这是怎么回事?

4

2 回答 2

0

如果 $ip 不为空(在您的示例中 $ip 为空),您可以尝试在 get_attempts($ip); 中修改您的函数 get_attempts();

于 2013-01-14T09:38:34.320 回答
0

您的插入查询应或多或少如下所示:

mysql_query("INSERT INTO failed_logins values('pachonk', INET_ATON('$ip'), CURRENT_TIMESTAMP");

那么你的选择会给你一些结果

于 2013-01-14T10:03:47.203 回答