{{1}}
很抱歉,仅学习PDO,我在这里要了解有关在此特定查询中遇到的关于INSERT的问题的更多信息。我找不到代码哪里出了问题。由于我的其他查询与bindparams INSERT成工作。我错过了什么吗?所有变量都显示正确的信息。我不明白为什么这不起作用。
答案 0 :(得分:2)
请尝试以下代码:
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt1 = $conn->prepare($sqlPickInsert);
$params = [
$nullvalues,
$newPickupCode,
$finalexistCustID,
$login_Date,
$finalpick_date,
$newExpenditures,
$paymentMode,
$finalpick_notes,
$login_Branch,
$nullvalues
];
$stmt1->execute($params);
将值的数组传递给execute()
比所有这些bindParam()
调用都容易。我不知道有多少PHP开发人员会想到bindParam()
是必要的。
启用ERRMODE_EXCEPTION比在每次调用PDO函数之后编写检查要容易得多。这样可以确保在准备或执行过程中发生任何错误时,您都会自动得到一个错误(实际上是一个异常)。
正如@Barmar所评论的那样,您可能会发现execute()
上的错误是您似乎正在将NULL传递给order_status
,但是该列不接受NULL。
至少我们猜测$nullvalues
的值为NULL
,但您并未这样说。