[英]Query doesn't work
我嘗試此查詢時收到以下錯誤消息:
$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 從字面上取而代之,而不是使用$ i的值(這是我認為您需要的)。
這應該工作:
$query .= "($tid, {$_POST['type'][$i]}, 'Y', NOW())";
如果需要更好的幫助,請顯示發送post變量的代碼(可能是表單或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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.