gpt4 book ai didi

php - 在 php 中使用 id 从数据库表中删除项目

转载 作者:太空宇宙 更新时间:2023-11-03 10:48:55 28 4
gpt4 key购买 nike

所以我有这个代码:

echo "<h1>Books</h1>";
echo "<table cellpadding=5 border=1>";
echo "<tr><th>Title</th><th>Author</th><th>Year</th><th>Deleting</th></tr>";
foreach ($array as $value) {
echo "<tr><td>".$value['title']."</td>";
echo "<td>".$value['author']."</td>";
echo "<td>".$value['year']."</td>";
echo "<td><input type='button' id='".$value['id']."' value='delete' name='delete'></td></tr>";
}
echo "</table>";

我正在使用它从我的数据库中删除它:

 if(isset($_GET['delete'])){
$deleted = $_GET['id'];
$new ="DELETE FROM `book`.`book` WHERE `book`.`id` = $deleted;";
$dbh->query($new);
}

我使用 PDO 作为 mysql 数据库的连接字符串。在数据库中,我有 ID、标题、作者、年份列。

所以发生的事情是,当我单击带有“删除”按钮的新形成的表时,什么也没有发生。我做错了什么?

谢谢!

最佳答案

由于您使用的是 type="button" , 它不会提交表单。

使用 type="submit"提交带有按钮标签的表单,然后设置 $value['id']作为 value="" :

echo "<td><button type='submit' value='".$value['id']."' name='delete'>Delete</button</td></tr>";

如果您还没有设置它,请确保 <form>标签包装 <table>并且有一个 method对应于您的 PHP 的类型:

<form method="GET">

既然您使用的是 PDO,为什么不使用准备好的语句:

if(isset($_GET['delete'])){
$deleted = $_GET['delete'];
$new ="DELETE FROM `book`.`book` WHERE `book`.`id` = :id";
$delete = $dbh->prepare($new);
$delete->bindParam(':id', $deleted, PDO::PARAM_INT);
$delete->execute();
}

假设您已经连接。

关于php - 在 php 中使用 id 从数据库表中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27219949/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com