未定义的属性:stdClass :: $ column_name

时间:2019-05-08 14:08:31

标签: php sql mysqli

我正在使用脚本登录(这本身可以正常工作)以启动会话并传输已登录用户的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提供一个结果吗?

1 个答案:

答案 0 :(得分:1)

您未选择rolle,而仅选择id

SELECT id FROM login WHERE email = ? AND passwort = ?

您需要选择要使用的列

SELECT id,rolle FROM login WHERE email = ? AND passwort = ?