2016-04-02 42 views
0

mysqli prepare文の結果を配列に格納しようとしています。だから私はjsonエンコードメソッドを使用して、他のページで使用することができます。mysqlのクエリ結果を配列に格納する

現時点では1行しか戻っていません。私は、クエリを確認し、クエリが正常に動作しています。

私は愚かな間違いをしているようですが、それを理解できません。フレッドへ

$start = 2; 
$limit = 2; 
$result = $mysqli->prepare("SELECT name, email, description, mobile, post_date FROM users order by id DESC limit ?,?"); 
$result ->bind_param("ii", $start, $limit); 
$result->execute(); 
$result->store_result(); 
$data = array(); 
$total = $result->num_rows; 
if($result->num_rows > 0){ 
    $result->bind_result($name, $email, $description, $mobile, $post_date); 


    while ($result->fetch()){ 
     $data['name'] = $name; 
     $data['email'] = $email; 
     $data['description'] = $description; 
     $data['mobile'] = $mobile; 
     $post_date = $post_date; 
     $data['newDate'] = date("d-M-Y", strtotime($post_date)); 
     //echo $name; 
    } 
+0

なぜあなたはクエリを実行し、結果を配列にプッシュしますか? – cpugourou

+0

繰り返しごとに上書きします。 '$ data ['name']'は他のすべてのインデックスと同じように姓だけを持ちます。 – chris85

+0

@ chris85説明してください。私はあなたを得ていません – Ironic

答えて

1
$data = array(); 
while ($result->fetch()){ 
           $data[] = array(
            "name" => $name, 
            "email" => $email, 
            "description" => $description, 
            "mobile" => $mobile, 
            "newDate" => date("d-M-Y", strtotime($post_date)) 
           ); 
           } 

感謝。これは問題を解決しました。

+0

喜んで助けになった、*歓声* –

0
$result->execute(); 
$data = $result->get_result()->fetch_all(); 
$total = count($data);