Объект класса mysqli_result не может быть преобразован в строку в

Я получаю сообщение об ошибке:

Object of class mysqli_result could not be converted to string

Это мой код:

$username2 = htmlentities($_SESSION['user']['username'], ENT_QUOTES, 'UTF-8');

$con = mysqli_connect('localhost','root','','test');

$result = mysqli_query($con, "SELECT classtype FROM learn_users
                        WHERE username='$username2';");

echo "my result <a href='data/$result.php'>My account</a>";

Ответ 1

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

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

Код...

while ($row = $result->fetch_assoc()) {
    echo $row['classtype']."<br>";
}

Ответ 2

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

Вот так:

$row = mysql_fetch_array($result);

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

Ответ 3

Попробуйте:

$row = mysqli_fetch_assoc($result);
echo "my result <a href='data/" . $row['classtype'] . ".php'>My account</a>";

Ответ 4

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