我在使用 PDO 更新 mysql 数据库时遇到问题。执行更新查询时没有收到任何错误消息,但它没有更新该数据库。我认为错误报告已打开 - self::$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ) - 我在开始时确实收到了一个错误,表明我的列名错误,还有一个关于语法错误但自从修复这些我没有收到任何错误消息。我从其他一些类似的查询中尝试了各种不同的东西,但并不高兴。
我有一个名为 Events 的类,构造函数执行 select 语句没有问题。更新是类中的一个函数,传入的 $array 参数是 $_POST(提交的表单数据) - 我是否试图以错误的方式从 $array 访问这个 $_POST 数据?
这是功能
function update ($array) {
$this->db = mydb::getConnection();
try {
// prepare statement
$statement = $this->db->prepare("UPDATE gigs SET who = :who WHERE gig_id = :gig_id");
// bind parameters
$statement->bindParam(':gig_id', $array['gig_id'], PDO::PARAM_INT);
$statement->bindParam(':who', $array['who'], PDO::PARAM_STR);
// execute statement
$statement->execute();
} catch (Exception $ex) {
throw $ex;
}
}
感谢您的任何建议。