PHP MYSQLI更新警告:mysql_query()期望参数1为字符串,对象在

时间:2014-06-13 11:32:38

标签: php mysql mysqli

我有一个表Home,我想更新它们我有一个HTML,在其他PHP形式。 如果按下按钮,该脚本将开始运行。 但, 我得到错误警告:mysql_query()期望参数1是字符串,对象在

中给出

泰 , 亚历

<?php
    require_once('../includes/connectie.php');
    $id = mysqli_real_escape_string($db, $_POST['id']);
    $Titel = mysqli_real_escape_string($db, $_POST['Titel']);
    $Tekst = mysqli_real_escape_string($db, $_POST['Tekst']);


    $sql = "UPDATE home SET ID=$id, Titel=$Titel, Tekst=$Tekst";
    if (!mysqli_query($db, $sql)){
        echo "error";
    }
    mysql_query($db, $sql);

?>

2 个答案:

答案 0 :(得分:2)

删除代码中的mysql_query($db, $sql);

<?php
    require_once('../includes/connectie.php');
    $id = mysqli_real_escape_string($db, $_POST['id']);
    $Titel = mysqli_real_escape_string($db, $_POST['Titel']);
    $Tekst = mysqli_real_escape_string($db, $_POST['Tekst']);


    $sql = "UPDATE home SET ID=$id, Titel=$Titel, Tekst=$Tekst";
    if (mysqli_query($db, $sql)){
       //Completed
    }
    else
    {
        //failed
        echo "error";
    }
   // mysql_query($db, $sql);

?>

我重新格式化了一点

答案 1 :(得分:0)

您正在混淆mysql_querymysqli_query。坚持使用mysqli,因为mysql自2012年以来已被弃用,即将从核心PHP代码中删除(可能是PHP 6版本)。

此外,无需在if语句之后运行查询。

if (!mysqli_query($db, $sql)){

这不仅检查结果是否为true / false,还运行mysqli_query函数,因为只有这样才能确定它是否成功。所以你可以删除你试图在那个if语句下面运行的mysql_query {第一次},因为那时它已经执行了。