【问题标题】:return array of results from select query php从选择查询php返回结果数组
【发布时间】:2017-08-24 22:06:24
【问题描述】:

我正在尝试为应用实施搜索建议,并且需要搜索包含用户列表的数据库表。我需要脚本返回一个数组,其中包含符合条件的所有用户的详细信息(即,如果用户搜索“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

【问题讨论】:

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

标签: php android mysql


【解决方案1】:

尝试为以下循环更改 mysqli_fetch 数组:

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

【讨论】:

    猜你喜欢
    • 2019-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-16
    • 1970-01-01
    相关资源
    最近更新 更多