1

我已经在互联网上搜索了一段时间,但是由于我是 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();
}}

希望有人可以帮助我使此代码正常工作,或帮助我找到替代方法。

4

1 回答 1

3

你有没有看过使用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();
  }
}
于 2012-09-21T16:08:36.153 回答