我一直無法讓我的INSERT語句正常工作。我知道問題是我想如何綁定參數。在添加參數綁定之前,INSERT正在工作。PHP插入值數組
$inventoryQuery = "INSERT INTO inventory (Whse, Product, Description,
QtyOnHand, QtyUnavail, BinLoc1, BinLoc2, GLCost, OnhandTotalValue,
UnavailTotalValue, GrandTotalValue)
VALUES ('?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?');";
// execute INSERT statement
$conn = $GLOBALS['conn'];
$stmt = $conn->prepare($inventoryQuery);
$stmt->bindParam(1, $sqlV[0]);
$stmt->bindParam(2, $sqlV[1]);
$stmt->bindParam(3, $sqlV[2]);
$stmt->bindParam(4, $sqlV[3]);
$stmt->bindParam(5, $sqlV[4]);
$stmt->bindParam(6, $sqlV[5]);
$stmt->bindParam(7, $sqlV[6]);
$stmt->bindParam(8, $sqlV[7]);
$stmt->bindParam(9, $sqlV[8]);
$stmt->bindParam(10, $sqlV[9]);
$stmt->bindParam(11, $sqlV[10]);
$stmt->execute();
輸出使用的var_dump($語句):
對象(PDOStatement對象)[2] 公共 '的queryString'=>字符串「INSERT INTO庫存(倉庫,產品,描述QtyOnHand,QtyUnavail ,BinLoc1,BinLoc2,GLCost,OnhandTotalValue,UnavailTotalValue,GrandTotalValue) VALUES(?,?,?,?,?,?,?,?,?,?,?);' (長度= 192)
我已經看到並嘗試了很多方法來處理綁定參數。現在我的頭在游泳。如果你能提供解決方案和解釋,我會非常高興。所有信息
解決方案提供:
try{
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$inventoryQuery = "INSERT INTO inventory ($sqlField)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
// execute INSERT statement
$conn = $GLOBALS['conn'];
$stmt = $conn->prepare($inventoryQuery);
$stmt->bindValue(1, $sqlV[0]);
$stmt->bindValue(2, $sqlV[1]);
$stmt->bindValue(3, $sqlV[2]);
$stmt->bindValue(4, ((int) ((float) $sqlV[3])));
$stmt->bindValue(5, ((int) ((float) $sqlV[4])));
$stmt->bindValue(6, $sqlV[5]);
$stmt->bindValue(7, $sqlV[6]);
$stmt->bindValue(8, ((float) $sqlV[7]));
$stmt->bindValue(9, ((float) $sqlV[8]));
$stmt->bindValue(10, ((float) $sqlV[9]));
$stmt->bindValue(11, ((float) $sqlV[10]));
$stmt->execute();
}
catch(PDOException $ex){
var_dump($ex);
}
感謝大家,幫助!
您正嘗試將多個值插入到一列中。 – 2014-11-04 14:58:48
我編輯帖子以顯示$ sqlField變量的值,這是一個包含表的所有列名稱的字符串。 – 2014-11-04 15:25:38
@BrentConnor我需要知道所有'$ sqlV'是如何被填充的。與此同時,嘗試一個'array'方法'$ stmt-> execute(array($ sqlV [0],$ sqlV [1])等);' – 2014-11-04 15:58:31