无法将数据插入DB。当我删除user_id时,插入数据。请检查下面的代码并帮助我。
function adddata($data) {
global $db;
if (is_array($data)) {
$stmt = $db->prepare('INSERT INTO `pay` (id, payment, status, itemid, time, user_id) VALUES(?, ?, ?, ?, ?, ?');
$userid = 2;
$stmt->bind_param(
'sdssss',
$data['txn_id'],
$data['payment_amount'],
$data['payment_status'],
$data['item_number'],
date('Y-m-d H:i:s'),
$userid
);
$stmt->execute();
$stmt->close();
return $db->insert_id;
}
return false;
}
它很微妙,但是你的SQL字符串缺少一个结束括号:
$stmt = $db->prepare('INSERT INTO `pay` (...) VALUES (?, ?, ?, ?, ?, ?)');
VALUES
列表未正确关闭的地方。
enabling exceptions in mysqli
可以检测和解决很多问题,因此不容易忽视错误。这应该在日志中显示为SQL错误。