将变量放入SQLite查询中

时间:2012-10-05 13:25:45

标签: php sqlite

我是SQLite和PHP的新手,很抱歉这个新手问题。

如果我在这里使用固定数字值,它不会引发错误,但是这样做..?

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

提前致谢。

3 个答案:

答案 0 :(得分:2)

你的连接错了,我无法理解,你可以试试这个:

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

答案 1 :(得分: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')";
}

答案 2 :(得分:0)

将您的查询包装成双引号,或在$ _POST-references中加双引号。 $query = "INSERT INTO ...";