首先,我在 1 个月前开始使用 PHP 和数据库,但到目前为止,我通过谷歌搜索找到了大多数问题的解决方案。
我正在尝试创建一个管理功能,您可以在其中删除早于“X”天的条目。但我很确定我的 PDO 有问题( :day 部分)。
PHP:
$backsite = $_SERVER['PHP_SELF'];
if (isset($_POST['days'])) {
$days = $_POST['days'];
$statement = $db->prepare("DELETE FROM $tbl_name WHERE date < DATE_SUB(NOW(), INTERVAL :days DAYS)");
$statement->execute(array(':days' => $days));
}
HTML:
<form method="post" action="' . $backsite .'">
<input type="number" min="7" max="90" placeholder="7" required="" name="days"/>
<input type="submit" name="delete" value="Delete" />
</form>
错误信息:
致命错误:未捕获异常 'PDOException' 并带有消息 'SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 /Applications/XAMPP/xamppfiles/htdocs/skiss/archive.php:10 的第 1 行的“DAYS)”附近使用正确的语法堆栈跟踪:#0 /Applications/ XAMPP/xamppfiles/htdocs/skiss/archive.php(10): PDOStatement->execute(Array) #1 {main} 在第 10 行的 /Applications/XAMPP/xamppfiles/htdocs/skiss/archive.php 中抛出