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サーバーで2番目のクエリを実行すると、希望どおりに実行されますが、php経由でクエリを実行すると0行になります。「username = pachonk」をクエリすると、私が望む方法でも完璧です。どうしたの?

4

2 に答える 2

0

挿入クエリは多かれ少なかれ次のようになります。

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

その後、あなたの選択はあなたにいくつかの結果を与えるでしょう

于 2013-01-14T10:03:47.203 に答える
0

$ip が空でない場合 (この例では $ip が空です)、get_attempts($ip); で関数 get_attempts() を変更してみてください。

于 2013-01-14T09:38:34.320 に答える