我是SQLite和PHP的新手,很抱歉这个新手问题。
如果我在这里使用固定数字值,它不会引发错误,但是这样做..?
if (isset($_POST['l'])) {
$query ='INSERT INTO clickmap (x, y, location) ' .
'VALUES (' . $_POST['x'] . ',' . $_POST['y'] . ',' . $_POST['l'] . ') ';
提前致谢。
答案 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 ...";