-1

このような質問が何百もあることは知っていますが、解決策が見つかりません。次のコードを使用して、テーブルに IP アドレスを挿入しようとしています。

<?php
$connect = mysql_connect('localhost','root','');
if (!$connect)
  {
   echo 'Failed to connect to database'."</br>";
   die(mysql_error());
  }
 else
  {
    echo 'Connected to database'."</br>";
    mysql_select_db('users', $connect);
    if (mysql_query("INSERT INTO user_info (IP) VALUES (`127.0.0.1`)",$connect))
     {
      echo 'query success';
     }
    else
    {
     echo 'query failed'."</br>".mysql_error();
    }


    mysql_close($connect);
  }
?>

しかし、それは次のエラーを返し続けます:

「フィールド リスト」の不明な列「127.0.0.1」

クエリの何が問題になっていますか? タイプは Varchar(15) に設定されており、はい、私は現在 SQL インジェクションに対して脆弱であることを知っています。

ナブケーキ

4

1 に答える 1

4
if (mysql_query("INSERT INTO user_info (IP) VALUES (`127.0.0.1`)",$connect))

する必要があります

if (mysql_query("INSERT INTO user_info (IP) VALUES ('127.0.0.1')",$connect))

'重引用符に注意して`ください。列とテーブル名にはバックトリックが使用されています。

于 2012-07-21T15:55:49.553 に答える