我正在使用核心php,实际上我从提交表单中获得了后期价值,我会在显示问题时将该变量传递给喜欢的查询:
致命错误:无法使用mysqli_result类型的对象作为数组 C:\ XAMPP
我不知道我做了什么错,请帮助我。
这是我的代码:
if(isset($_POST['list'])){
//-----from post value----//
$location_type =$_POST['list'];
$arr = explode(' ',trim($location_type));
$listing=$arr[0];
$all_location ="select * from tbl_master_property where pg_address like '%$listing%'";
$location_result=$conn->query($all_location);
while($row=mysqli_fetch_assoc($location_result)){
$location_result[] = $row['pg_address'];
}
echo "<pre>";print_r($location_result);die;
}
答案 0 :(得分:0)
问题是您是否试图在$location_result
循环中覆盖 mysqli_result变量 while()
。
您需要使用单独的数组变量来获取所有值。
如下所示(请仔细阅读代码内的注释): -
if(isset($_POST['list'])){
$location_type =$_POST['list'];
$arr = explode(' ',trim($location_type));
$listing=$arr[0];
$all_location ="select * from tbl_master_property where pg_address like '%$listing%'";
$all_location_result = [];//create an array variable
$location_result=$conn->query($all_location);
while($row=$location_result->fetch_assoc()){ // try not to mix oop way with procedural way, not a good practic
$all_location_result[] = $row['pg_address']; // assign values to array variable
}
echo "<pre>";print_r($all_location_result);// print array variable
}
注意: - 您SQL INJECTION
的查询代码是开放式的,因此请尝试使用prepared statements
参考: -