我一直无法让我的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