mysqli_fetch_assoc in object



如何在对象中或向右箭头执行数组。 对不起,我还是个大三学生

这是功能和工作

function check_level($id) {
global $connect;
$query  = "SELECT level FROM s_user WHERE id='$id'";
$result = $connect->query($query);
$level  = mysqli_fetch_assoc($result) ['level'];
return $level;
}

我尝试过这样,但错误,idk 如何在对象中数组

function check_level($id) {
global $connect;
$query  = "SELECT level FROM s_user WHERE id='$id'";
$result = $connect->query($query);
$level  = $result->fetch_object(['level']);

return $level;
}

你能帮我吗?谢谢。

你可能已经解决了。但无论如何,这是函数,它在返回值之前检查是否有结果。

如果未检索到任何记录,则此函数返回 NULL。

function check_level($id) {
global $connect;
$level = NULL;
$stmt = $connect->prepare("SELECT level FROM s_user WHERE id= ?");
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result();
if($result){
if($result->num_rows > 0){
$row = $result->fetch_object();
$level = $row->level; // this
}
}
else {
echo "MySQL Error: ".$connect->error;
}
return $level;
}

该函数还使用预准备语句来防止 sql 注入攻击。

阅读更多关于sql注入的信息。您必须准备并绑定参数作为上面的代码。$stmt只是"语句"或变量。

最新更新