Объект класса 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>"; 

Эта часть:

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

Необходимо получить имя пользователя на странице входа.

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

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

Код…

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

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

Как это:

 $row = mysql_fetch_array($result); 

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

Попробуйте:

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

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