session_start(); $user=$_SESSION['username']; $con=mysqli_connect("$host","$username","$password","$db_name"); $sql1="SELECT UserID FROM User WHERE username='$user'"; $query=mysqli_query($con,$sql1); echo $query;
Я не уверен, в чем проблема с этим, я пробовал искать здесь и пробовал разные способы написания синтаксиса и проверки ошибок в параметре, но все еще не выводил команду. Что мне здесь не хватает?
ОБНОВИТЬ
$sql1="SELECT UserID FROM User WHERE username='$user'"; $query=mysqli_query($sql1,$con); $row=mysqli_fetch_array($query); $uid=$row[0]; echo $uid;
Как ответили другие, я попытался это сделать. По-прежнему нет выхода или выводится 0. Где, если я попробовал запрос в sql, он показывает правильный.
ОБНОВЛЕНИЕ 2
Он попытался выполнить команду var_dump () и возвращает NULL. Означает ли это, что он не может прочитать базу данных?
mysqli_query
дает результата. Успешный запрос возвращает ресурс. Вы должны обрабатывать ресурс с помощью mysqli_fetch_object
, mysqli_fetch_assoc
или mysqli_fetch_array
.
Также вы $sql1
параметр $con
перед $sql1
что неверно. Сначала нужно установить соединение, а затем переменную запроса.
Пример:
<?php session_start(); $user = $_SESSION['username']; $con = mysqli_connect("$host", "$username", "$password", "$db_name"); $sql1 = "SELECT UserID FROM User WHERE username='$user'"; $query = mysqli_query($con, $sql1); $fetch = mysqli_fetch_assoc($query); var_dump($fetch); ?>
$query
будет «Ресурсом». Вы можете использовать, например, $result = mysqli_fetch_array($query);
а затем echo $result[0];
Может, есть еще один способ, но это простой!
Я смог сделать некоторое обходное решение с моей проблемой, используя синтаксис mysql. Все еще не удалось определить проблему с mysqli, но я смог завершить свою задачу. Спасибо, что ответили ребятам.