准备好的语句 echo JSON 编码将结果变为空

if(isset($_POST["id"])){  

    $stmt = $mysqli->prepare("SELECT * FROM account WHERE id = ?");

    $stmt->bind_param("s", $_POST["id"]);

    $stmt->execute();

    $row = $stmt->get_result();

    

    echo json_encode($row);

}  

由于某种原因,结果为空并产生此错误。尝试访问 null 类型值的数组偏移量


我究竟做错了什么?我发现似乎没有任何效果。


潇潇雨雨
浏览 63回答 1
1回答

牛魔王的故事

的调用$stmt->get_result();只是将结果从mysqli_stmt对象获取到mysqli_result对象中,您仍然必须作为单独的调用来获取结果行if(isset($_POST["id"])){      $stmt = $mysqli->prepare("SELECT * FROM account WHERE id = ?");    $stmt->bind_param("s", $_POST["id"]);    $stmt->execute();    $result = $stmt->get_result();        //You still need some version of a FETCH after $stmt->get_result();    $row = $result->fetch_assoc();    echo json_encode($row);}  
打开App,查看更多内容
随时随地看视频慕课网APP