Я получаю сообщение об ошибке:
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()
для проверки ошибок.