Member 13030431 Ответов: 1

Вызов функции-члена fetch_object() для необъектной и неопределенной переменной: res


модель классов
{
публичная функция sel($con,$t1)
{
$sql= " select * from $t1";
$q=$con - & gt;query($sql);
while ($fet=$q - >fetch_object())
{
$res[]=$fet;
}
возврат $res;
}

Что я уже пробовал:

я пытался отправить данные в базу данных....

Richard MacCutchan

На первый взгляд ваш запрос к базе данных не вернул никаких значений. Проверьте документацию на предмет возможных причин ошибки(ошибок).

1 Ответов

Рейтинг:
0

Jochen Arndt

Вы должны проверить, был ли запрос успешным. Видеть РНР: mysqli_result::fetch_object - инструкция[^].

Вторая ошибка сообщает вам, что $res переменная не была определена при использовании в return заявление. Он был определен в цикле, но находится вне области видимости (не виден вне цикла). Поэтому вы должны сначала определить его в области действия функции.

Поэтому используйте что-то вроде (непроверенное):

public function sel($con,$t1)
{
    $res = array();
    $sql="select * from $t1";
    $q=$con->query($sql);
    if ($q)
    {
        while ($fet=$q->fetch_object())
        {
            $res[]=$fet;
        }
    }
    return $res;
}

Заметим также, что $con должно быть допустимое соединение (проверьте его перед вызовом функции).