我有一個有三個選項值的選擇框。當用戶選擇一個我想要使用ajax自動更新數據庫中的值時。這個SQL對我想實現的有效嗎?有效的SQL語法?
UPDATE
Orders
SET
status='".$_POST[order_status]['.$i.']."'
WHERE
ID='".$_POST[order_no] ['.$i.']."';
非常感謝。
我有一個有三個選項值的選擇框。當用戶選擇一個我想要使用ajax自動更新數據庫中的值時。這個SQL對我想實現的有效嗎?有效的SQL語法?
UPDATE
Orders
SET
status='".$_POST[order_status]['.$i.']."'
WHERE
ID='".$_POST[order_no] ['.$i.']."';
非常感謝。
嘗試這樣
$sql ="UPDATE Orders SET
status='".$_POST['order_status'][$i]."'
WHERE ID='".$_POST['order_no'][$i]."' ";
您正在使用concats字符串錯誤內:
UPDATE Orders
SET status='".$_POST['order_status'][$i]."'
WHERE ID='".$_POST['order_no'][$i]."';
之所以被你已經分割字符串,你要使用的數組中的值。
你有什麼是字符串:
UPDATE Orders SET status='
和你concat'ing一個變量,它:
$_POST['order_status'][$i]
等等...
您使用CONCAT字符串之間,並且不需要在包含的數組內使用它。
在該說明中,在查詢中使用$_POST
數據是危險的。你真的應該使用準備好的語句 - 這意味着你可以將變量安全地綁定。
不要被串在一起砸建立SQL。你剛剛製造了一個很大的安全漏洞。 – Quentin
使用[綁定參數](http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php) – Quentin
1.如前所述,不要像這樣構建查詢這是一個巨大的安全威脅。 2.您可以打印您的查詢並使用http://www.dpriver.com/pp/sqlformat.htm – shkschneider