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();
?>
留言列表