我正在使用脚本登录(这本身可以正常工作)以启动会话并传输已登录用户的ID。以同样的方式,我想从SQL表传输“ rolle” 。 尽管该ID正常工作,但声称“ rolle”是未定义的。在我的SQL表中,定义并填充了“ rolle”列。
通知::未定义的属性:stdClass :: $ <<>行中的 /Applications/XAMPP/xamppfiles/htdocs/flensburgpunkte/login.php 中的卷strong>
if (isset($_GET["login"])) {
$email = $_POST["email"];
$passwort = $_POST["passwort"];
$passwort_hash = password_hash($passwort, PASSWORD_BCRYPT, ['salt' => 'ahsdIOUOASDHuahsjavnsdvuhJNDJASJdhafmvndvjvav732643849']);
$search_user = $connection->prepare("SELECT id FROM login WHERE email = ? AND passwort = ?");
$search_user->bind_param('ss',$email,$passwort_hash);
$search_user->execute();
$search_result = $search_user->get_result();
if ($search_result->num_rows == 1) {
$search_object = $search_result->fetch_object();
echo $search_object->id."<br>";
echo $search_object->rolle."<br>";
$_SESSION['fahrer'] = $search_object->id;
} else {
echo "<p style=\"color:#B80C09;\">Deine Angaben waren nicht korrekt.</p><br>";
}
}
$search_object->id
可以正常工作,但是$search_object->rolle
不起作用,尽管它来自同一行,但ID是从中读取的。
有人可以给我一个解决方案,为$search_object->rolle
提供一个结果吗?
答案 0 :(得分:1)
您未选择rolle
,而仅选择id
SELECT id FROM login WHERE email = ? AND passwort = ?
您需要选择要使用的列
SELECT id,rolle FROM login WHERE email = ? AND passwort = ?