Предупреждение об обновлении PHP MYSQLI: mysql_query() ожидает, что параметр 1 будет строкой, объект задан в

#php #mysql #mysqli

#php #mysql #mysqli

Вопрос:

у меня есть домашняя таблица, я хотел их обновить, у меня есть 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);

?>
  

Комментарии:

1. вы смешиваете mysql и mysqli? я вижу оба в ваших заявлениях.

Ответ №1:

Удалите 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);

?>
  

Я также немного переформатировал

Ответ №2:

Вы путаете mysql_query и mysqli_query . Придерживайтесь mysqli одного, поскольку он mysql устарел примерно с 2012 года и скоро будет удален из основного кода PHP (вероятно, с выпуском PHP 6).

Кроме того, нет необходимости запускать запрос после оператора if .

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

Это не только проверяет, является ли результат true / false , это также запускает функцию mysqli_query, потому что только тогда она может определить, удалось ли это. Таким образом, вы можете отбросить mysql_query то, что вы пытаетесь запустить (во второй раз), под этим оператором if, поскольку в этот момент он уже выполнен.