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

Evi*_*ter -2 php 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);
Run Code Online (Sandbox Code Playgroud)

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

jer*_*oen 5

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

更改:

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

至:

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

您还应该在MyPDO类中添加错误处理,以便PDO将抛出异常并在出错时告诉您出现了什么问题.