Я пытаюсь получить столбец из запроса select, но получаю эту ошибку
Notice: Trying to get property of non-object
SQL
$row = $conn->query("SELECT * from user where name='".$username."' and password='".$password."'");
$row->setFetchMode(PDO::FETCH_ASSOC);
$row->execute();
$results = $row->fetchAll();
$count = $row->rowCount();
$get_user_role = $row["name"];
echo $get_user_role;
Как я понял, вы хотите получить одну строку из этого SQL-запроса, и, взглянув на свой код, вы fetchAll
который вернет либо false
или массив результатов с указателем, который затем должен использоваться в цикле, т.е. while
,
Я бы сделал это немного по-другому (и я познакомлю вас с готовые заявления):
$row = $conn->query("SELECT * from user where name = :name and password = :password;");
$row->setFetchMode(PDO::FETCH_ASSOC);
$row->execute([
'name' => $username,
'password' => $password
]);
$result = $row->fetch();
if($result !== false) {
$count = $row->rowCount();
$get_user_role = $result["name"];
echo $get_user_role;
} else {
echo 'User not found or does not exist.';
}
Других решений пока нет …