объяснение предупреждения mysqli_free_result - PullRequest
0 голосов
/ 10 декабря 2011

У меня много проблем с кодом, над которым я работаю, но этот, похоже, часто встречается. Я использую процедурный метод для кодирования этого сайта, и я не могу найти ответ на этот вопрос без упоминания ООП, подготовленных утверждений или неудачных запросов. Самое смешное, что оператор работает с веб-сайта, и строка все еще добавляется в базу данных, поэтому я не считаю ее ошибочным запросом. Может ли кто-нибудь помочь мне понять, что означает это предупреждение?

Предупреждение: mysqli_free_result () ожидает, что параметр 1 будет mysqli_result, логическое значение дано в ..... on line (выберите число)

Это один из кодов, с которыми я работаю.

    if (isset($_POST['picturesubmit'])) 
    {
        $target_path = "uploads/";

        $target_path = $target_path . basename( $_FILES['profilepic']['name']);

        $ext = $_FILES['profilepic']['type'];

        if(($ext == "image/jpeg") || ($ext == "image/jpg") || ($ext == "image/png") || ($ext == "image/gif"))
        {
            $temp_file = $_FILES['profilepic']['tmp_name'];

           if(move_uploaded_file($temp_file, $target_path)) 
           {
               $picture = mysqli_real_escape_string($dbc, $target_path);
               $q = "UPDATE Users SET profilepic = '$picture' WHERE email = '$sessionuser' ";
               $r = mysqli_query ($dbc, $q)
                 or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($dbc));

        mysqli_free_result($r);
    } 
    else
    {
        echo "Picture did not upload properly. please try again";
    }
}
else
{
    echo "Uploaded file was not an image, please try again.";
}
    }

1 Ответ

1 голос
/ 10 декабря 2011

mysqli_free_result не требуется для записи отчета как mysqi_query
return логическое (true),
не возвращает ресурс идентификатора результата,
так что вы не можете освободить результат

см. Документы: - http://php.net/manual/en/mysqli.query.php

Возвращает FALSE при ошибке. Для успешных запросов SELECT, SHOW, DESCRIBE или EXPLAIN mysqli_query () вернет объект MySQLi_Result. Для других успешных запросов mysqli_query () вернет TRUE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...