无法使用 pdo 将新数据插入数据库


Cannot insert new data into database with pdo

>我在尝试将新数据插入数据库时遇到问题,我什至没有收到任何错误

$db = new MyPDO();
$datauser = array( 
'account' => $acc, 
'tid' => $tid, 
'email' => $email, 
'amount' => $amount, 
'date' => 'NOW()',
'obj_id' => $object_id);  
$sql = $db->query("INSERT INTO account_reg_log 
(account, tid, email, amount, date, obj_id) VALUES 
(:account, :tid, :email, :amount, :date, :obj_id)");
$sql->execute($datauser);

运行脚本后检查数据库,没有看到新行。.任何想法如何修复帽子?

您需要准备语句,而不是直接使用占位符运行查询。

改变:

$sql = $db->query("INSERT INTO account_reg_log 
(account, tid, email, amount, date, obj_id) VALUES 
(:account, :tid, :email, :amount, :date, :obj_id)");

自:

$sql = $db->prepare("INSERT INTO account_reg_log 
(account, tid, email, amount, date, obj_id) VALUES 
(:account, :tid, :email, :amount, :date, :obj_id)");

您还应该在 MyPDO 类中添加错误处理,以便 PDO 将引发异常,并在出错时准确地告诉您出了什么问题。