Объект класса 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()
для проверки ошибок.