函数 delete() 的参数太多。提供 3 个,但接受 0 个 [关闭]

Too many arguments to function delete(). 3 provided, but 0 accepted [closed]

提问人:Intertas Mico D 提问时间:11/17/2023 最后编辑:mickmackusaIntertas Mico D 更新时间:11/17/2023 访问量:41

问:


编辑问题以包括所需的行为、特定问题或错误以及重现问题所需的最短代码。这将帮助其他人回答这个问题。

3天前关闭。

嗨,大家好,我只想问为什么我的代码显示此错误。“函数delete()的参数太多了。提供了 3 个,但接受了 0 个。我正在为一个管理页面发送接收消息,用户可以在其中发送他们的问题,它工作正常,但我的 1 个特定代码中有问题,这是这里的 delete() 函数。

if (isset($_GET['seen'])) {
    $frm_data = filteration($_GET);
    if ($frm_data['seen'] == 'all') {

    }else{
        $q = "UPDATE `user_queries` SET `seen`=? WHERE `sr_no`=?";
        $values = [1, $frm_data['seen']];
        if (update($q,$values,'ii')) {
            alert('success','Message Read!');
        }else{
            alert('error','Operation Failed!');
        }
    }
}

if (isset($_GET['del'])) {
    $frm_data = filteration($_GET);
    if ($frm_data['del'] == 'all') {

    } else {
        $q = "DELETE FROM `user_queries` WHERE `sr_no`=?";
        $values = [$frm_data['del']];
        if (delete($q, $values, 'i')) {
            alert('success', 'Message deleted successfully!');
        } else {
            alert('error', 'Operation failed!');
        }
    }
}

不要介意正在工作的“看到”的那个,我唯一的问题是显示此错误的删除“函数 delete() 的参数太多。提供了 3 个,但接受了 0 个。该代码通过此代码链接。

$q = "SELECT * FROM `user_queries` ORDER BY `sr_no` DESC";
$data = mysqli_query($conn, $q);
$i = 1;
while ($row = mysqli_fetch_assoc($data)) {
    $seen = '';
    if ($row['seen'] != 1) {
        $seen = "<a href='?seen=$row[sr_no]' class='btn btn-sm rounded-pill btn-primary'>Mark as read</a>";
    }
    $seen .= "<a href='?del=$row[sr_no]' class='btn btn-sm rounded-pill btn-danger'>Delete</a>";
    echo<<<query
<tr>
<td>$i</td>
<td>$row[name]</td>
<td>$row[email]</td>
<td>$row[subject]</td>
<td>$row[message]</td>
<td>$row[date]</td>
<td>$seen</td>
</tr>
query;
    $i++;
}

我唯一的问题是,当我尝试单击删除按钮时,也会显示此错误。致命错误:未捕获的错误:调用未定义的函数 delete()。如果有人帮助我或修复我的代码,我会很高兴;if (delete($q, $values, 'i'))

我期待删除按钮删除php admin中的数据

php 参数 致命错误

评论

2赞 mickmackusa 11/17/2023
您尚未显示签名,但该错误指示签名未编码为接收任何参数,并且您正在向其传递 3 个参数。我不赞成在用于迭代结果集时使用它太冗长。只需使用 .function delete()mysqli_fetch_assoc()foreach ($data as $row) {
0赞 mickmackusa 11/17/2023
自 PHP8 以来,当您传入太多参数时,本机函数会抱怨。没有本机方法。3v4l.org/E4Pte我想知道您是否在配置不当的 IDE 中看到此反馈。delete()
0赞 Intertas Mico D 11/17/2023
我是PHP的新手,这就是为什么我对删除不太熟悉。我还在一些网站上查找,表明我应该使用取消链接或取消设置。我也观看了一些关于他们如何使用它的 Youtube 视频。我只是按照视频中的内容进行了更改,并在那里更改了一些其他内容,但主要问题是删除。这在PHP中仍然有效吗?在这里,我发现没有删除 php.net/manual/en/function.delete.php
1赞 ADyson 11/17/2023
没有这样的 PHP 内置函数叫做 delete(),这是正确的。但是你得到的第一个错误消息是说......这表明在代码的某个地方,你已经定义了自己的......。所以去寻找那个。不过,这与后面的消息相矛盾。不过,您没有指出哪些代码行实际上会抛出这些不同的错误。我只能假设您的 delete() 函数在其中一个脚本的范围内,但不包含在另一个脚本中。Too many arguments to function delete(). 3 provided, but 0 accepted.function delete() { undefined function

答: 暂无答案