-1

私は SQLite と PHP を初めて使用するので、この初心者の質問について申し訳ありません。

ここで値に固定数を使用すると、エラーはスローされませんが、これは..?

if (isset($_POST['l'])) { 
$query ='INSERT INTO clickmap (x, y, location) ' .
'VALUES (' . $_POST['x'] . ',' . $_POST['y'] . ',' . $_POST['l'] . ') ';

前もって感謝します。

4

3 に答える 3

2

あなたの連結は間違っています、私はそれから何も理解できません、あなたはこれを試すことができます:

if (isset($_POST['l'])) { 
    $query = "INSERT INTO clickmap (x, y, location) VALUES ('".$_POST['x']."', '".$_POST['y']."', '".$_POST['l']."')";
}
于 2012-10-05T13:28:38.553 に答える
1

POST変数をクエリに直接入れないでください。安全ではありません(http://en.wikipedia.org/wiki/SQL_injectionを参照) 。

したがって、次のようなことを行います。

if (isset($_POST['l']))
{
    $x = mysql_real_escape_string($_POST['x']);
    $y = mysql_real_escape_string($_POST['y']);
    $l = mysql_real_escape_string($_POST['l']);
    $query = "INSERT INTO `clickmap` (`x`, `y`, `location`) VALUES ('$x', '$y', '$l')";
}
于 2012-10-05T13:29:08.313 に答える
0

クエリを二重引用符で囲むか、$_POST 参照に二重引用符を入れます。$query = "INSERT INTO ...";

于 2012-10-05T13:28:27.387 に答える