亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將多個 MySQL 查詢保存在一個 json 數組中?

如何將多個 MySQL 查詢保存在一個 json 數組中?

PHP
慕娘9325324 2023-06-18 17:47:20
我有一個帶有 ajax 'POST' 方法的網站,該方法將數據 ID 發送到 php 文件。根據收到的 id,從數據庫接收適當的 MySQL 查詢并將其放入 JSON 數組。存檔.php:if(isset($_POST["id"])){ //data received from the html POST method     $id = $_POST["id"];    if(is_numeric($id) == TRUE){        $query="SELECT * FROM TestDataBase.usr WHERE idusr =" . $id;        $result=mysqli_query($conn, $query);    }else if(is_numeric($id) == FALSE && $id != ""){        $query="SELECT * FROM TestDataBase.usr WHERE INSTR(name,'" . $id ."')";        $result=mysqli_query($conn, $query);    }    $i=0;        while($row = mysqli_fetch_array($result)){            $data["num"] = $i;            $i += 1;            $data["idusr"] = $row["idusr"];            $data["name"] = $row["name"];            $data["surname"] = $row["surname"];        }    echo json_encode($data);}使用 MySQLINSTR方法,我將所有包含的查詢解析id為一個$data數組,然后將其編碼為 json,但由于某種原因,只有表中的最后一個查詢被發送回 html 文件。如何將多個查詢而不是一個添加到 json 數組中?謝謝!
查看完整描述

1 回答

?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

要根據結果創建二維數組,您必須將數組添加到數組:


  $data=[]; // <-- create empty array to hold the results      


   while($row = mysqli_fetch_array($result)){

     //NOW push all elements in an array into $data:


     $data[]= // <-- push new value in $data = array

       [

        'num' => $i,

        'idusr' => $row['idusr'],

        'name' => $row['name'],

        'surname' => $row['surname']

       ];

     $i += 1;

    }



    echo json_encode($data);


查看完整回答
反對 回復 2023-06-18
  • 1 回答
  • 0 關注
  • 186 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號