如何在对象中使用数组或使用向右箭头。对不起我还是个大三学生
这是功能和工作
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;
}
你可以帮帮我吗?感谢。
答案 0 :(得分:0)
你可能已经解决了。但无论如何,这是函数,它在返回值之前检查是否有结果。
如果没有检索到记录,则此函数返回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注入攻击。
答案 1 :(得分:0)
阅读有关sql注入的更多信息。您必须准备并绑定参数作为上面的代码。 $ stmt只是"声明"或变量。