从selectqueryphp返回结果数组

从selectqueryphp返回结果数组,php,android,mysql,Php,Android,Mysql,我正在尝试实现应用程序的搜索建议,需要搜索包含用户列表的数据库表。我需要脚本返回一个数组,其中包含符合条件的所有用户的详细信息(即,如果用户搜索“Jo”,它将返回名为“jon”、“Joe”等的用户)。我尝试过使用其他脚本的一部分来实现这一点,但我无法使mysqli\u fetch\u array方法正常工作 我使用onTextChangedListener在用户每次键入内容时查询脚本,我相信这是正确的方法。我会在下面发布我的代码,如果需要更多信息,请告诉我 $con = mysqli_conne

我正在尝试实现应用程序的搜索建议,需要搜索包含用户列表的数据库表。我需要脚本返回一个数组,其中包含符合条件的所有用户的详细信息(即,如果用户搜索“Jo”,它将返回名为“jon”、“Joe”等的用户)。我尝试过使用其他脚本的一部分来实现这一点,但我无法使
mysqli\u fetch\u array
方法正常工作

我使用
onTextChangedListener
在用户每次键入内容时查询脚本,我相信这是正确的方法。我会在下面发布我的代码,如果需要更多信息,请告诉我

$con = mysqli_connect(database details);

$name = $_POST["name"];

$statement = mysqli_prepare($con, "SELECT user_id, name, email FROM users WHERE name = ?");
mysqli_stmt_bind_param($statement, "s", $name);
mysqli_stmt_execute($statement);
mysqli_stmt_store_result($statement);
mysqli_stmt_bind_result($statement, $user_id, $name, $email);


$response = mysqli_fetch_array($statement, MYSQLI_ASSOC);

echo json_encode($response);

mysqli_close($con);

在android studio中,我得到了一个错误:
mysqli\u fetch\u array()期望参数1为mysqli\u result

尝试为以下循环更改mysqli\u fetch数组:

while (mysqli_stmt_fetch($statement)) {
    $response[] = [
        "user_id" => $user_id,
        "name" => $name,
        "email" => $email,
    ]; //assign each data to response array
}

注意:
mysqli
的面向对象接口明显不那么冗长,使代码更易于阅读和审核,并且不容易与过时的
mysql\u查询接口混淆。在你对程序性风格投入太多之前,值得换一种。示例:
$db=new mysqli(…)
$db->prepare(“…”)
过程接口是PHP4时代的产物,当时引入了
mysqli
API,不应在新代码中使用。JSteward您是否检查了答案?