我正在做一個ajax調用PHP應該做2 SQL查詢。該查詢是這樣的:mysqli_multi_query沒有做任何事
$sql = "UPDATE customers SET customers_newsletter=1 WHERE customers_id ='".$cid."'";
$sql .= "INSERT INTO coupons (coupon_id,
coupon_type,
coupon_code,
coupon_amount,
coupon_minimum_order,
coupon_start_date,
coupon_expire_date,
uses_per_coupon,
uses_per_user,
coupon_active)
VALUES ('".$cid."',
'NL_".$cid_substr."".$cid."',
'F',
'5.0000',
'100.0000',
'".date("Y-m-d H:i:s")."',
'".$expiredate."',
'1',
'1',
'Y'
)";
mysqli_multi_query($con,$sql);
在另一個PHP文件完全相同的代碼已經工作,我有一個複製SQL入門到另一個表,然後從當前刪除了它。
如果我只做其中一個查詢它的工作,但我需要讓他們一起工作。
任何想法,爲什麼它不工作?
UPDATE:
我現在跟着鏈接,以防止SQL注入的評論,我現在得到了下面的代碼:
<?php
$mysqli = new mysqli("server", "user", "pw", "db");
// TODO - Check that connection was successful.
$unsafe_variable = $_GET['cid'];
$stmt = $mysqli->prepare("INSERT INTO coupons (coupon_id) VALUES (?)");
// TODO check that $stmt creation succeeded
// "s" means the database expects a string
$stmt->bind_param("s", $unsafe_variable);
$stmt->execute();
$stmt->close();
$mysqli->close();
mysqli_close($con);
?>
它仍然沒有工作。錯在哪裏?
[你的腳本是在對SQL注入攻擊的風險。(http://stackoverflow.com/questions/60174/how-can-我防止SQL注入在PHP中)你在做任何錯誤檢查?如果不是,你看過錯誤日誌嗎? –
請看看我的更新。我甚至有點奇怪,因爲變量不能被用戶改變。 –
您尚未添加任何錯誤檢查,因此您需要查看錯誤日誌。我的猜測是你沒有連接到你的數據庫。 –