我收到以下錯誤消息時我嘗試此查詢:查詢不起作用
$query .= "($tid, {$_POST['type']['$i']}, 'Y', NOW())";
你有一個錯誤的SQL語法。檢查對應於你的MySQL服務器版本正確的語法近
(18, , 'Y', NOW())' at line 1
使用的一切在我的代碼工作,除了這條線的手冊。我知道它與$ _POST數組變量有關,但我不知道正確的語法。
如果您需要更多代碼,我很樂意將其包含在內。
我收到以下錯誤消息時我嘗試此查詢:查詢不起作用
$query .= "($tid, {$_POST['type']['$i']}, 'Y', NOW())";
你有一個錯誤的SQL語法。檢查對應於你的MySQL服務器版本正確的語法近
(18, , 'Y', NOW())' at line 1
使用的一切在我的代碼工作,除了這條線的手冊。我知道它與$ _POST數組變量有關,但我不知道正確的語法。
如果您需要更多代碼,我很樂意將其包含在內。
您使用單引號的周圍$i
是錯誤的:
$query .= "($tid, {$_POST['type']['$i']}, 'Y', NOW())";
這將導致$我採取字面代替的價值$ i正在使用(這是我認爲你需要的)。
這應該工作:
$query .= "($tid, {$_POST['type'][$i]}, 'Y', NOW())";
正是我需要的。除了那個之外,我嘗試了幾乎所有單引號和括號的變量。謝謝。 – aliov 2010-06-26 23:33:51
如果您想要更好的幫助,請顯示發送帖子變量的代碼(可能是表單或AJAX請求)。
但你的問題可能在於這裏:
$query .= "($tid, {$_POST['type']['$i']}, 'Y', NOW())";
該職位評估爲類似$_POST['type']['1']
。你可能想要$_POST['type'][1]
。
那麼試試這個:
$query .= "($tid, {$_POST['type'][$i]}, 'Y', NOW())";
如前所述。
$query .= "($tid, {$_POST['type']['$i']}, 'Y', NOW())";
應改爲
$query .= "($tid, {$_POST['type'][$i]}, 'Y', NOW())";
好奇,爲什麼你在使用 「{}」。也就是說,您應該避免直接在$ _GET或$ _POST中輸入變量,將其用於查詢或您網站的任何其他方面。
你真的應該養成習慣或通過你已經預先確定的東西傳遞變量。
更不用說,你會在運行sql查詢之前逃避這些變量。
看看
http://php.net/mysql_real_escape_string http://php.net/pdo.quote
如果你有時間,調查PDO。
你能發佈一些更多的代碼嗎?什麼是完整的'$ query'? – phimuemue 2010-06-26 16:07:47