我是SQLite和PHP的新手,所以很抱歉關於這個新手問題。將變量惰性化到SQLite查詢中
如果我在這裏使用固定數值的值,它不會拋出錯誤,但是這樣做..?
if (isset($_POST['l'])) {
$query ='INSERT INTO clickmap (x, y, location) ' .
'VALUES (' . $_POST['x'] . ',' . $_POST['y'] . ',' . $_POST['l'] . ') ';
在此先感謝。
我是SQLite和PHP的新手,所以很抱歉關於這個新手問題。將變量惰性化到SQLite查詢中
如果我在這裏使用固定數值的值,它不會拋出錯誤,但是這樣做..?
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']."')";
}
是的,你說的是對的,我在那裏有一點意大利麪條。太感謝了。 – Alchemy
把你的查詢換成雙引號,或者在你的$ _POST引用中加雙引號。 $query = "INSERT INTO ...";
不要直接把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')";
}
你在哪看到'mysql'? –
有什麼錯誤?這些變量的值是什麼? – Stijn
以及如果您使用您的後變量作爲$ _POST [「x」]而不是$ _POST ['x'] – kakuki