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 に答える