php - 数据未插入数据库 php、mysql
问题描述
无法将数据插入 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
列表未正确关闭的地方。
通过启用异常mysqli
可以检测和解决许多问题,因此不容易忽略错误。这应该在您的日志中显示为 SQL 错误。
推荐阅读
- javascript - 一旦父组件的状态更新,组件就不会更新
- python - Python 3 中的冒泡排序
- c - 无法运行使用 clang/lld/mingw 编译的 Windows 二进制文件
- .htaccess - 使用 .htaccess 重定向子域
- jenkins - Jenkins管道,如何将工件从以前的构建复制到当前构建?
- ruby-on-rails - 如何修复“Sprockets::FileNotFound: 找不到类型为 'application/javascript' 的文件 'turbolinks'”
- python - 如何在 PyQt 中创建一个类似于 messageBox 的窗口
- javascript - Vue.js open link in new window
- html - 像 Whatsapp 一样,如何在您键入时进行向上延伸的输入?
- tizen - Tizen Web SDK:如何远程调试(Web 检查器)在手表(Galaxy)上运行的 Web 应用程序?