0

$_SERVER['REMOTE_ADDR']; をログに記録するには、このコードを使用します。私の小さなデータベースにとって、私の問題は値がデータベースに保存されないことです。コードで見逃したものを理解できません

任意のヒント ?

 <?php

 mysql_connect("localhost", "usr", "passwd");
 mysql_select_db("db") or die ( 'Can not select database' );

 function initCounter() {
  $ip = $_SERVER['REMOTE_ADDR'];
  $sql = "INSERT INTO logs(REMOTE_ADDR,) VALUES ('$ip')";
  }
   echo $_SERVER['REMOTE_ADDR'];

   ?>
4

3 に答える 3

1

これは機能するはずです。ここにある他のコメントに加えて、クエリにカンマ(、)が多すぎます。

<?php
mysql_connect("localhost", "usr", "passwd");
mysql_select_db("db") or die ( 'Can not select database' );

function initCounter() {
    $ip = $_SERVER['REMOTE_ADDR'];
    $sql = "INSERT INTO logs (REMOTE_ADDR) VALUES ('$ip')";
    mysql_query($sql);
}

initCounter();
?>
于 2012-06-19T11:37:00.160 に答える
0
  • 実際にクエリを実行しているわけではありません。SQLを作成しますが、使用しませんmysql_query($sql)

  • SQLのこの時点でコンマがありますREMOTE_ADDR,<-それを削除します

  • クエリを実行するときは、を使用mysql_error()してエラーメッセージをテストします(mysql_query()ブール値の結果を確認します) false

最後に、MySQLiまたはPDOに切り替えることをお勧めします。

于 2012-06-19T11:15:59.787 に答える
0

それがあなたが完全なコードである場合...あなたが実際にクエリを実行する必要がある1つの欠けているものがあります...

mysql_query($ sql);

編集:

クエリを実行しようとしている関数のDBOUTSIDEに接続していることに気づきました...明らかに、関数内のように失敗し、DB接続を認識していません。

于 2012-06-19T11:16:39.303 に答える