【问题标题】:php mysqli prepared statement remove query issuephp mysqli准备好的语句删除查询问题
【发布时间】:2015-07-09 17:07:45
【问题描述】:

我已经创建了一个页面来删除我网站的不同元素,但由于某种原因它无法正常工作...尽管我将fMenu 设置为 i - 整数,因为它是。 当我运行下面的代码时,它给了我:

致命错误:在C:\Users\joonas\Desktop\Le Kerouac\root\admin\remove.php 上线 44

代码(PHP):

include_once('../php/connDbPrepared.php');
mysqli_set_charset($mysqli, 'utf8');
//Anti mysql injection precautions
$menu = mysqli_real_escape_string($mysqli, $menu);
$sql = "REMOVE FROM menu WHERE fMenu = ?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("i", $menu);
if($stmt->execute())
{
    $stmt->close();
    echo '
    <script type="text/javascript">
    window.location.replace("../admin/admintable.php?page=main&message=removeSuccessMenu");
    </script>
    ';
}
else
{
    echo '
    <script type="text/javascript">
    $(document).ready(function()
    {
        $("#screenCover").slideToggle("slow");
        $("#closePopup").click(function()
        {
            $("#screenCover").slideToggle("slow");
            setTimeout(resetPage, 600);
        });
});
function resetPage()
{
    window.location.replace("../admin/admintable.php?page=main");
}
</script>
<div id="screenCover" style="display:none;">
<div id="popup">
<div id="closePopupMain">
<p id="closePopup"><a href="#">X</a></p>
</div>
<p id="failure">Le menu n\'a pas éte enlevée! Cause: Erreur '.mysqli_errno($mysqli).": ".mysqli_error($mysqli).'</p>
</div>
</div>';
}

【问题讨论】:

标签: php mysql mysqli prepared-statement


【解决方案1】:

mysql中没有REMOVE关键字,使用DELETE:

Delete from menu where fmenu = ?

【讨论】:

    【解决方案2】:

    正确的函数名是bindParam()而不是bind_param()

    改变

    $stmt->bind_param("i", $menu);
    

    $stmt->bindParam("i", $menu);
    

    这将消除您收到的错误消息。然后你需要修复你的 SQL 语句。

    【讨论】:

    • 他/她使用的是 MySQLi,而不是 PDO。这是bind_param。由于语法错误,只是查询失败。
    • 啊,你是对的。我的大脑只是默认进入 PDO。投反对票得当。
    • 可以理解。不知怎的,我现在觉得自己像个坏人:s
    • 必须以某种方式保持网站的质量。我在这篇文章上的净变化是 0 与我的编辑,所以不要难过。我会删除我的帖子,但我还没有获得同伴压力徽章>.>
    • 只是想推荐那个徽章 :) 加一个评论:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    相关资源
    最近更新 更多