我想从表中删除一些行。但是当我点击删除时,这只是显示一个空白页面。我确定id值和我的数据库连接。
这是我的代码:
// connect to the database
include('connect-db.php');
// confirm that the 'id' variable has been set
if (isset($_GET['id']) && is_numeric($_GET['id'])) {
// get the 'id' variable from the URL
$id = $_GET['id'];
// delete record from database
if ($stmt = $mysqli->prepare("DELETE FROM my_table WHERE id = ? LIMIT 1")) {
$stmt->bind_param("i",$id);
$stmt->execute();
$stmt->close();
} else {
echo "ERROR: could not prepare SQL statement.";
}
$mysqli->close();
// redirect user after delete is successful
header("Location: Dashboard.php");
} else {
// if the 'id' variable isn't set, redirect the user
header("Location: Dashboard.php");
}
答案 0 :(得分:0)
有一个类似的问题MySQLi Prepared Statement not executing 。基本上,您可以尝试直接在数据库中运行SQL以查看是否出现任何错误。还要确认数据库用户具有删除权限,并且id在数据库中存储为整数。
答案 1 :(得分:-1)
首先我建议你使用$ _POST方法,你可以阅读更多关于GET vs. POST的内容。
尝试使用bindValue()而不是bindParam(),我相信需要为bindParam()声明其他东西我忘了(我也是PHP的新手)。