我正在升級我的網站以使用PDO。大部分代碼工作正常,但我有一個INSERT語句,我無法工作。它適用於我的本地服務器,但不在現場。我檢查過表格結構,它們是相同的。PHP PDO INSERT與預處理語句不兼容
這是我的代碼
try {
foreach ($unique_product_line_ids AS $key => $value) {
$query_insertSQL = "
INSERT INTO tblCarts (
date_created
, session_id
, product_line_id
, posted_by_id
, quantity
) VALUES (
:date_created
, :session_id
, :product_line_id
, :posted_by_id
, :quantity1
)
ON DUPLICATE KEY UPDATE quantity = :quantity2
";
$insertSQL = $conn->prepare($query_insertSQL);
$insertSQL->execute(array(
':date_created'=>$date_created
, ':session_id'=>$session_id
, ':product_line_id'=>$key
, ':posted_by_id'=>$_SESSION['member']['individual_id']
, ':quantity1'=>$value
, ':quantity2'=>$value
));
$rc_insertSQL = $insertSQL->rowCount();
// close connection
$insertSQL->closeCursor();
}
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
我在unique_product_line_ids陣列檢查的價值觀和他們存在的確定。我也嘗試刪除ON DUPLICATE KEY UPDATE行(及其相應的參數),但這沒有什麼區別。
我花了幾個小時試圖消除潛在的原因,並孤立問題沒有成功。任何幫助或指針將非常感激地收到。
感謝
任何錯誤的錯誤?在現場安裝PDO嗎? – Sal00m 2014-08-27 09:52:36
只是'echo $ insertSQL-> errorInfo()' – Sal00m 2014-08-27 09:58:20