Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php crud删除不再工作_Php_Mysql_Sql - Fatal编程技术网

Php crud删除不再工作

Php crud删除不再工作,php,mysql,sql,Php,Mysql,Sql,我使用了crud delete方法,它对我很有效,但是当我在不同的数据库和表中尝试它时,它总是说为foreach提供的参数无效 这是我的vacation-verwijderen.php,您可以在这里删除它 <div> <table id="tabel"> <thead> <tr> <th>Fun

我使用了crud delete方法,它对我很有效,但是当我在不同的数据库和表中尝试它时,它总是说为foreach提供的参数无效

这是我的vacation-verwijderen.php,您可以在这里删除它

            <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我的天,我很抱歉,我真的不知道那是什么,但就是这样。多谢各位