簡體   English   中英

PHP到JSON使用關聯數組進行編碼

[英]PHP to JSON encode with associative array

require "constant.php";
require "database.php";
$sql = "select e.*, b.booth_address, ba.bank_full_name from $app_booth_enrolment e
left join $app_booth_info b on e.booth_id=b.booth_id
left join $app_bank_info ba on e.bank_id=ba.bank_id";
$result = $conn->query($sql);
if($result->num_rows > 0){
    $data = array();
    while($row = $result->fetch_assoc()){
        array_push($data,$row);
    }
    echo $data = json_encode($data);  
    var_dump(json_encode($data));
}else{
    $data['status'] = "No terminal found";
    echo $data = json_encode($data);
}

echo json_encode($data); 只打印print_r($data)打印一個數組。 如何將數據數組轉換為json格式。

Array
(
    [0] => Array
        (
            [id] => 1
            [enrolment_id] => 101-1-0001
            [terminal_type_id] => ATM
            [booth_name] => CITY-Bashundhara
            [enrolment_date] => 2015-01-01
            [live_date] => 2015-02-02
            [bank_id] => 101
            [booth_id] => 101-0001
            [terminal_serial] => 5300153835
            [terminal_host] => TCBL-TWO
            [terminal_app] => 
            [note] => 
            [status] => 1
            [insert_by] => 1
            [insert_date] => 
            [booth_address] => Head Office, Jiban Bima Tower, 10, Dilkusha Commercial Area, Dhaka-1000 
            [bank_full_name] => The City Bank Limited
        )

    [1] => Array
        (
            [id] => 2
            [enrolment_id] => 101-1-0002
            [terminal_type_id] => ATM
            [booth_name] => CITY-VIP_Road
            [enrolment_date] => 2015-01-01
            [live_date] => 2015-02-02
            [bank_id] => 101
            [booth_id] => 101-0002
            [terminal_serial] => 5300153831
            [terminal_host] => TCBL-TWO
            [terminal_app] => 
            [note] => 
            [status] => 1
            [insert_by] => 1
            [insert_date] => 
            [booth_address] => Head Office, Jiban Bima Tower, 10, Dilkusha Commercial Area, Dhaka-1000 
            [bank_full_name] => The City Bank Limited
        )

    [2] => Array
        (
            [id] => 3
            [enrolment_id] => 101-2-0003
            [terminal_type_id] => CDM
            [booth_name] => CITY-DSE
            [enrolment_date] => 2015-01-01
            [live_date] => 2015-02-02
            [bank_id] => 101
            [booth_id] => 101-0003
            [terminal_serial] => 5300153832
            [terminal_host] => TCBL-TWO
            [terminal_app] => 
            [note] => 
            [status] => 1
            [insert_by] => 1
            [insert_date] => 
            [booth_address] => Head Office, Jiban Bima Tower, 10, Dilkusha Commercial Area, Dhaka-1000 
            [bank_full_name] => The City Bank Limited
        ) 
)

好吧,我找到了解決方案。

Havelock建議打印json_last_error_msg() ,我發現格式錯誤的UTF-8字符,可能編碼錯誤。

我正在使用MySQLi因此必須在數據庫連接后將此行放入字符格式設置中: mysqli_set_charset($conn, "utf8");

謝謝哈夫洛克。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM