close


PHP 在連線資料庫輸出陣列方式來處理資料,但在網頁資料傳遞的過程中,最常需要將資料從一端傳到另一端。
相當常用的為JSON格式,如MySQL資料傳送Android來接收資料的方法也是用它。

連線資料庫顯示畫面為JSON格式,所使用語法為json_encode。
以上mysql_query為PHP 5以下版本所用。
mysql 改成 mysqli 為PHP 7 以上版本所用。

範本語法如下:
一、連線資料庫,檔名為data.php。

解中文亂碼的問題,請加入下列三項:

mysql_query("SET NAMES UTF8");
mysql_query("SET CHARACTER_SET_CLIENT='utf8'");
mysql_query("SET CHARACTER_SET_RESULTS='utf8'");

語法:

<?php
$hostname="連線資料庫的網址";
$username="帳號";
$password="密碼";
$database="資料庫名稱";
$GD=mysql_pconnect($hostname,$username,$password) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_query("SET NAMES UTF8");
mysql_query("SET CHARACTER_SET_CLIENT='utf8'");
mysql_query("SET CHARACTER_SET_RESULTS='utf8'");

?>

二、顯示到網頁,檔名為 text.php。
HTTP內容定義的方法:
header('Content-type: application/json; charset=utf-8')為內容格式 JSON 內容編碼 utf-8 

把資料庫的陣列轉成JSON格式,才能傳送到另一端上。
請使用 json_encode(資料,JSON_UNESCAPED_UNICODE),JSON_UNESCAPED_UNICODE為中文不轉成unicode碼。

<?

require_once("data.php");
$sql="select * from text  order by id desc " + $insertSQL;
mysql_select_db($database,$GD);
$Result=mysql_query($sql,$GD) or die(mysql_error());

while($r = mysql_fetch_assoc($Result))
    $output[]=$r;
header('Content-type: application/json; charset=utf-8');
print(json_encode($output,JSON_UNESCAPED_UNICODE));
mysql_close();
exit();

?>

arrow
arrow
    文章標籤
    PHP 網站 mysql
    全站熱搜
    創作者介紹
    創作者 小甲學習地 的頭像
    小甲學習地

    學習資訊部落

    小甲學習地 發表在 痞客邦 留言(0) 人氣()