我正在尝试为应用实施搜索建议,并且需要搜索包含用户列表的数据库表。我需要脚本返回一个数组,其中包含符合条件的所有用户的详细信息(即,如果用户搜索'Jo',它将返回名为'John''Joe'的用户等。我已经使用了其他一些脚本的部分内容,但我无法让mysqli_fetch_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_fetch_array() expects parameter 1 to be mysqli_result
。
答案 0 :(得分:1)
尝试使用以下循环的mysqli_fetch数组:
while (mysqli_stmt_fetch($statement)) {
$response[] = [
"user_id" => $user_id,
"name" => $name,
"email" => $email,
]; //assign each data to response array
}