我想从mysql数据库中存储提交表单的用户的用户级别
我当前的代码是:

    <form id='login' action='<?php echo $fgmembersite->GetSelfScript(); ?>' method='post' accept-charset='UTF-8'>
    <fieldset >
    <?php
    if(isset($_POST['submitted']))
    {
 session_start();
    if($fgmembersite->Login())
       {

        $mysqli = new mysqli('host', 'name', 'psw', 'db');
                if ($result = $mysqli->query("SELECT user_level FROM users WHERE username='$username'")) {

                 $_SESSION['user_level'] = $result;
            }
            $fgmembersite->RedirectToURL("loginhome.php");

       }

    }
    ?>

    <legend>Login</legend>

    <input type='hidden' name='submitted' id='submitted' value='1'/>

    <div class='short_explanation'>* benötigte Felder</div>

    <div><span class='error'><?php echo $fgmembersite->GetErrorMessage(); ?></span></div>
    <div class='container'>
        <label for='username' >Benutzername*:</label><br/>
        <input type='text' name='username' id='username' value='<?php echo $fgmembersite->SafeDisplay('username') ?>' maxlength="50" /><br/>
        <span id='login_username_errorloc' class='error'></span>
    </div>

现在我在网站上查看了它,在那里您使用$_SESSION重定向,我得到以下结果:
[user_level] => mysqli_result Object ( [current_field] => [field_count] => [lengths] => [num_rows] => [type] => )

有人能解释一下那里发生了什么吗?或者出了什么问题?

最佳答案

这可能无法解决您的问题,但会话应该始终在脚本的最顶端启动。

<?php
if (!isset($_SESSION)) {
    session_start();
}

// ... Other code ...

您的查询也有问题。你应该像这样使用它:
$conn = new mysqli('host', 'username', 'password', 'database');
$stmt = $conn->prepare("SELECT * FROM table WHERE id = ?");
$stmt->bind_param("s", $editID);
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();

print_r($row);

10-02 08:54