我是 SQLite 和 PHP 的新手,很抱歉这个新手问题。
如果我在这里对值使用固定数字,它不会引发错误,但这会..?
if (isset($_POST['l'])) {
$query ='INSERT INTO clickmap (x, y, location) ' .
'VALUES (' . $_POST['x'] . ',' . $_POST['y'] . ',' . $_POST['l'] . ') ';
提前致谢。
您的串联是错误的,我对此一无所知,您可以试试这个:
if (isset($_POST['l'])) {
$query = "INSERT INTO clickmap (x, y, location) VALUES ('".$_POST['x']."', '".$_POST['y']."', '".$_POST['l']."')";
}
不要将 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')";
}
将您的查询包装成双引号,或将双引号放在您的 $_POST 引用中。$query = "INSERT INTO ...";