- 最近在學(xué)習(xí)php,昨天研究了一下通過php連接MySQL數(shù)據(jù)庫,查詢數(shù)據(jù)庫內(nèi)容并以json數(shù)據(jù)格式顯示出來衔统,很簡單的幾行代碼鹿榜。
- 因為用的php版本是php7,所以采用了mysqli來查詢數(shù)據(jù)庫锦爵,并沒有用mysql舱殿,不過貌似好像差別不大。
- 補充:今天重新打開的時候訪問user數(shù)據(jù)庫的時候沒問題险掀,但是訪問blog數(shù)據(jù)庫的時候出現(xiàn)問題了沪袭,沒有辦法形成json數(shù)據(jù),然后忙活了半小時之后排查出來了樟氢,用var_dump方法能夠輸出冈绊,不能輸出json侠鳄,而且輸出的是亂碼,所以問題就找到了死宣,因為我的blog表中好多中文伟恶,所以出現(xiàn)了亂碼,緊接著也就導(dǎo)致了無法形成json格式的數(shù)據(jù)十电。
解決辦法也很簡單:
$connect = mysqli_connect('localhost','root','123456','springdemo')or die('Unale to connect');
后面加上這樣一句設(shè)置格式的就好了~
mysqli_query($connect,'set names utf8');
<?php
header ( "Content-type:text/html;charset=utf-8" );
//統(tǒng)一輸出編碼為utf-8
$connect = mysqli_connect('localhost','root','123456','springdemo')or die('Unale to connect');
$sql = "select * from user";
$result = mysqli_query($connect,$sql);
$arr = array();
while($row = mysqli_fetch_assoc($result)){
array_push($arr,$row);//往array數(shù)組中加入查詢得到的數(shù)據(jù)
}
echo json_encode($arr,JSON_UNESCAPED_UNICODE);
//json編碼 JSON_UNESCAPED_UNICODE為防止中文亂碼
?>
通過以上可以查詢結(jié)果如圖
2017-03-07 22-20-51屏幕截圖.png
因為剛剛開始學(xué)php知押,所以學(xué)的比較基礎(chǔ)叹螟。想慢慢積累鹃骂,所以開始試著寫寫博客記錄一下。
- 另外mysqli_fetch_assoc和mysqli_fetch_array都可以實現(xiàn)查詢數(shù)據(jù)庫功能罢绽,不過區(qū)別在于前者不會顯示索引后者會顯示索引
不輸出json格式數(shù)據(jù)的話畏线,可以不用最后一行
echo json_encode($arr,JSON_UNESCAPED_UNICODE);
直接輸出數(shù)據(jù)
<?php
header ( "Content-type:text/html;charset=utf-8" );
//統(tǒng)一輸出編碼為utf-8
$connect = mysqli_connect('localhost','root','123456','springdemo')or die('Unale to connect');
$sql = "select * from user";
$result = mysqli_query($connect,$sql);
$arr = array();
while($row = mysqli_fetch_assoc($result)){
array_push($arr,$row);
}
foreach($arr as $single){
echo var_dump($single).'<br>';
}
?>
#結(jié)果如圖
2017-03-07 23-06-02屏幕截圖.png