Php crud删除不再工作
我使用了crud delete方法,它对我很有效,但是当我在不同的数据库和表中尝试它时,它总是说为foreach提供的参数无效 这是我的vacation-verwijderen.php,您可以在这里删除它Php crud删除不再工作,php,mysql,sql,Php,Mysql,Sql,我使用了crud delete方法,它对我很有效,但是当我在不同的数据库和表中尝试它时,它总是说为foreach提供的参数无效 这是我的vacation-verwijderen.php,您可以在这里删除它 <div> <table id="tabel"> <thead> <tr> <th>Fun
<div>
<table id="tabel">
<thead>
<tr>
<th>Functie</th>
<th>Omschrijving</th>
<th>Salaris</th>
</tr>
</thead>
<tbody>
<?php
include 'database.php';
$pdo = Database::connect();
$sql = 'SELECT * FROM vacature ORDER BY id DESC';
foreach ($pdo->query($sql) as $row) {
echo '<tr>';
echo '<td>'. $row['functie'] . '</td>';
echo '<td>'. $row['omschrijving'] . '</td>';
echo '<td>'. $row['salaris'] . '</td>';
echo '<td width=250>';
echo '<a class="button " href="update.php?id='.$row['id'].'">Update</a>';
echo ' ';
echo '<a class="button" href="delete.php?id='.$row['id'].'">Delete</a>';
echo '</td>';
echo '</tr>';
}
Database::disconnect();
?>
</tbody>
</table>
</div>
</div>
然后单击delete,进入delete.php,如下所示
<?php
require 'database.php';
$id = 0;
if ( !empty($_GET['id'])) {
$id = $_REQUEST['id'];
}
if ( !empty($_POST)) {
$id = $_POST['id'];
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "DELETE FROM vacature WHERE id = ?";
$q = $pdo->prepare($sql);
$q->execute(array($id));
Database::disconnect();
header("Location: vacature-verwijderen.php");
}
?>
我不知道是什么问题,因为它曾经工作过,我的数据库表也是这样
foreach ($pdo->query($sql) as $row) {
这就是问题所在$pdo->query$sql已返回您的$行
改为使用while,以便它执行查询并返回新行,只要有数据要获取:
while ($row = $pdo->query($sql)) {
此外:
$sql = "DELETE FROM vacature WHERE id = ?";
您提供的表不包含任何名为id的字段,尽管有一个名为vacuure\u id的字段。您可能还需要更改该字段:
$sql = "DELETE FROM vacature WHERE vacature_id = ?";
如果无法解决您的问题,请立即返回。请查找错误消息。从您的屏幕截图:您想按id删除。但没有名称为的列id@BenRoob我的天,我很抱歉,我真的不知道那是什么,但就是这样。多谢各位