我想从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);