这是编写 PDO 更新语句的正确方法吗?我基于我在网上看到的一个教程,但它似乎在被 AJAX 触发时根本没有做任何事情(即使 AJAX 请求在控制台中被记录为成功,也没有对数据库进行更新):
$duedate = $_POST["duedate"];
$status = $_POST["status"];
$id = $_POST["id"];
$sql = "UPDATE pm_schedule SET duedate=?, status=? WHERE id=?";
$q = $pdo->prepare($sql);
$q->execute(array($duedate,$status,$id));
最佳答案
是的,它是正确的,但你需要告诉 PDO 在出错时引发错误。
所以,让你的连接代码像这样:
$dsn = "mysql:host=$host;dbname=$db;charset=utf8";
$opt = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
);
$pdo = new PDO($dsn, $user, $pass, $opt);
并确保您可以看到 PHP 错误。这样,您就会知道出了什么问题。
关于php - PDO更新语句的正确写法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14747584/