PHP Восстановимая фатальная ошибка: объект класса mysqli_result не может быть преобразован в строку [duplicate]

@ Магнус: Стандарт определяет sizeof как уступающий количеству байтов в объекте, а sizeof (char) всегда один.

Edit: ANSI C ++ standard section 5.3.3 Sizeof:

Оператор sizeof дает количество байтов в объекте представление его операнда. [...] sizeof (char), sizeof (signed char) и sizeof (unsigned char) равны 1; результат sizeof, примененный к любому другому фундаментальному типу, определяется реализацией.

Раздел 1.6 Модель памяти C ++:

Фундаментальная единица хранения в C ++ модель памяти - это байт. Байт, по крайней мере, достаточно большой, чтобы содержать любой элемент базового набора символов выполнения и состоит из непрерывной последовательности бит, число которой определяется реализацией.

13
задан Chinmay Chandak 14 February 2018 в 16:23
поделиться

4 ответа

mysqli_query() возвращает ресурс объекта в вашу переменную $result, а не строку.

Вам нужно закодировать его, а затем получить доступ к записям. Вы просто не можете напрямую использовать его как свою переменную $result.

Код ...

while ($row = $result->fetch_assoc()) {
    echo $row['classtype']."<br>";
}
28
ответ дан Charles Truluck 17 August 2018 в 12:30
поделиться
  • 1
    Вы также можете сделать, если ($ row = $ result- & gt; fetch_assoc ()) {...} вместо этого, если вы знаете, что это всего лишь 1 строка. – Andrew 22 September 2014 в 01:24

Убедитесь, что mysqli_connect() создает соединение с БД. Вы можете использовать mysqli_errno() для проверки ошибок.

-1
ответ дан arturogarrido 17 August 2018 в 12:30
поделиться

Попробуйте:

$row = mysqli_fetch_assoc($result);
echo "my result <a href='data/" . $row['classtype'] . ".php'>My account</a>";
0
ответ дан hsz 17 August 2018 в 12:30
поделиться

Перед использованием переменной $result вы должны использовать функции $row = mysql_fetch_array($result) или mysqli_fetch_assoc().

Нравится это:

$row = mysql_fetch_array($result);

и использовать массив $row как вам нужно.

2
ответ дан Nisse Engström 17 August 2018 в 12:30
поделиться
  • 1
    Они используют mysqli_ как API здесь. MySQL_ не смешивается с этим. – Funk Forty Niner 4 August 2018 в 22:09
Другие вопросы по тегам:

Похожие вопросы: