1

そのため、このページがクリックされたときに lvl_log テーブルに追加してクリーチャー テーブルのパーセンテージを変更するこのコードがあり、ページをクリックしてもデータはテーブルに追加されません。

    //Add percentage if it hasn't been clicked yet
$ip = $_SERVER['REMOTE_ADDR'];

$cq = "SELECT ip FROM lvl_log WHERE ID = '$id' AND IP = '$ip'";
$cresults = mysql_query($cq);

if(mysql_num_rows($cresults) == 0)
{
    if($percent != 100)
    {
        $newpercent = $percent + 5;

                    mysql_query("UPDATE Creatures SET Percent='$newpercent' WHERE id='$id'");
            }

            $sql="INSERT INTO lvl_log (id, ip)
            VALUES('".$id."', '".$ip."')";


            mysql_query($sql,$con);
    }
4

1 に答える 1

3

クエリを実行するときは、常に結果を確認してください。

デバッグの目的で、各クエリの最後にステートメントを追加して、すぐにフィードバックを得ることができます。

mysql_query( $query ) or die( mysql_error() );

これにより、失敗の正確な理由が明らかになります。

本番コードでは、エラーを画面に表示するのではなく、ログに記録することを検討する必要があります。次のようなことができます。

$result = mysql_query( $query );

if ( false === $result ) {
    // Log the output of mysql_error() or send an email to an admin
}

最後に、現在のバージョンの PHP ではmysql_*関数が非推奨になっていることに注意してください。mysqliまたはPDOを使用するようにコードを更新することを検討してください。

于 2013-06-19T16:03:39.357 に答える