繁体   English   中英

将mysqli查询结果作为PHP中的数组返回

[英]Return mysqli query result as an array in PHP

我一直在互联网上搜索一段时间,但由于我是MySQLi的新手,我自己无法解决这个问题。 到目前为止这是我的代码。 我想将结果作为数组返回。

function myFunction($u_id, $mysqli){
   $userinfo = "SELECT email, name, street, placename FROM users WHERE u_id = ? LIMIT 1";
   if($stmt = $mysqli->prepare($userinfo)) {
      $stmt->bind_param('i', $u_id);
      $stmt->execute();
      if(!$stmt->execute()) { 
            echo $stmt->error.' in query: '.$userinfo; 
      } else {
        //this is what i found somewhere on the internet, and it gives me an array with the right keys but empty values.
        $meta = $stmt->result_metadata();
        while ($field = $meta->fetch_field()) { 
            $var = $field->name; 
            $$var = null; 
            $parameters[$var] = &$$var; 
        } 
        return $parameters;
    }
    $stmt->close();
}}

希望有人可以帮助我使这些代码工作,或帮助我找到替代方案。

你有没有看过使用fetch_array

http://php.net/manual/en/mysqli-result.fetch-array.php

使用您的代码

function myFunction($u_id, $mysqli){
  $userinfo = "SELECT email, name, street, placename FROM users WHERE u_id = ? LIMIT 1";
  if($stmt = $mysqli->prepare($userinfo)) 
  {
    $stmt->bind_param('i', $u_id);
    $stmt->execute();
    if(!$stmt->execute()) 
        { 
            echo $stmt->error.' in query: '.$userinfo; 
        }
    else {
        //this is what i found somewhere on the internet, and it gives me an array with the right keys but empty values.
        $parameters = array();
        while ($row = $stmt->fetch_assoc()) {
          $parameters[] = $row;
        }
        $stmt->close(); 
        return $parameters;
    }
    $stmt->close();
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM