2016-08-04 1 views
0

私のAndroidアプリのためのREST APIをセットアップするためには、私は、次のステートメントからの連想配列を取得したいと思います:どのように連想配列にmysqliの結果をストックするのですか?

$stmt = $this->conn->prepare("SELECT * FROM stores_diag WHERE rim = ?"); 
    $stmt->bind_param("s", $email); 
    $stmt->execute(); 
    $stmt->store_result(); 
    $count=$stmt->num_rows(); 
    echo $count; 

この要求は3の結果を返す必要がありますし、$カウントが良いですが、私は私を持っています3結果しかし、私はこのようにナビゲートすることがあった配列に結果をストックして処理できる方法:

$配列[0] [「名前」] =最初のアイテムの名前

$配列[1] [ "name"] = 2番目のアイテムの名前

これは、配列をjsonにエンコードしてapi用に使用するためのものです。

答えて

0

これは、あなたが探している機能です。

はあなたが

mysqli_fetch_all($stmt,MYSQLI_ASSOC); 

のようにそれを使用することができ連想配列、数値配列、またはその両方 http://php.net/manual/en/mysqli-result.fetch-all.php

としてすべての結果行をフェッチmysqlndドライバとphp 5.3以上が必要です。あなたが最後に

$stmt = $this->conn->prepare("SELECT * FROM stores_diag WHERE rim = ?"); 
$stmt->bind_param("s", $email); 
$result = $stmt->execute(); 
$fetchAsssoc = array(); 
while($row = $result->fetch_assoc()) { 
    $fetchAsssoc[] = $row; 
} 
echo json_encode($fetchAsssoc); 
//$stmt->store_result(); 
//$count=$stmt->num_rows(); 
//echo $count; 

エンドを使用してみてください機能を実行できない場合は、json_encode($assocArray);

+0

少し混乱イムエコー/戻る、私はこのようにそれを使うshoudできますか? $ stmt = $ this-> conn-> prepare( "SELECT * FROM stores_diag where rim =?"); $ stmt-> bind_param( "s"、$ email); $ stmt-> execute(); $ stmt-> store_result(); $ count = $ stmt-> num_rows(); echo $ count; $結果= mysqli_fetch_all($ stmt、MYSQLI_ASSOC); echo $ result [0] ["name"]; 原因私はこれを行うと結果表示が全くありません。 –

+0

mysqlndドライバをインストールしていて、あなたのPHP 5.3以上ですか? – g9m29

+0

私は知らない、どのように私はこれをチェックする? 私のコードはサーバー上で動作しており、郵便配達員と一緒にテストしています –

関連する問題