久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

PHP連接MySQL數(shù)據(jù)庫并以json格式輸出

 fanfl0517 2019-10-25

1.簡介

PHP連接數(shù)據(jù)庫有多種方法,,現(xiàn)介紹常用的MySQL數(shù)據(jù)庫連接方法,,PHP連接MySQL也有兩種方式,一是面向?qū)ο?,二是面向過程方式,,兩種方法稍有區(qū)別。下面通過代碼介紹兩種方法連接MySQL并以json格式輸出,。

2,、面向?qū)ο蠓绞?/p>

<?php header('content-Type: text/html; charset=utf-8');//字符編碼設(shè)置 $servername = 'localhost'; $username = 'root'; $password = '123456'; $dbname = 'mydb'; // 創(chuàng)建連接 $conn =new mysqli($servername, $username, $password, $dbname); // 檢測連接 if ($conn->connect_error) { die('Connection failed: ' . $conn->connect_error); } $sql = 'SELECT * FROM power WHERE DATE='2014-1-1''; $result = $conn->query($sql); $arr = array(); // 輸出每行數(shù)據(jù) while($row = $result->fetch_assoc()) { $count=count($row);//不能在循環(huán)語句中,由于每次刪除row數(shù)組長度都減小 for($i=0;$i<$count;$i++){ unset($row[$i]);//刪除冗余數(shù)據(jù) } array_push($arr,$row); } //print_r($arr); echo json_encode($arr,JSON_UNESCAPED_UNICODE);//json編碼 $conn->close(); ?>

3.面向過程方式

<?php header('content-Type: text/html; charset=utf-8');//字符編碼設(shè)置 $servername = 'localhost'; $username = 'root'; $password = '123456'; $dbname = 'mydb';  // 創(chuàng)建連接 $con =mysqli_connect($servername, $username, $password, $dbname); // 檢測連接 if (mysqli_connect_errno()) {   echo 'Failed to connect to MySQL: ' . mysqli_connect_error(); }  $sql = 'SELECT * FROM power WHERE DATE='2014-1-1''; $result = mysqli_query($con,$sql);  $arr = array(); while($row = mysqli_fetch_array($result)) {   $count=count($row);//不能在循環(huán)語句中,,由于每次刪除 row數(shù)組長度都減小   for($i=0;$i<$count;$i++){     unset($row[$i]);//刪除冗余數(shù)據(jù)   }    array_push($arr,$row);  } echo json_encode($arr,JSON_UNESCAPED_UNICODE); mysqli_close($con);  ?> 

4.輸出json示例

[{'NAME':'小區(qū)1','DM':'A','LNG':'564142.623','LAT':'4329376.169','DATE':'2014-1-1','VAL':'26.8'},{'NAME':'小區(qū)2','DM':'B','LNG':'563089.677','LAT':'4329311.017','DATE':'2014-1-1','VAL':'26.8'}]

5.json輸出說明

由于$row = mysqli_fetch_array($result)獲取數(shù)據(jù)的一行數(shù)據(jù)并以數(shù)組形式存儲,,里邊除了字段和值鍵值對外默認(rèn)還會有0,1,2……下標(biāo)存在,如下所示

Array ( [0] => 小區(qū)1 [NAME] => 小區(qū)1 [1] => A [DM] => A [2] => 564142.623 [LNG] => 564142.623 [3] => 4329376.169 [LAT] => 4329376.169 [4] => 2014-1-1 [DATE] => 2014-1-1 [5] => 26.8 [VAL] => 26.8 )  

如此數(shù)據(jù)就出現(xiàn)冗余,,unset方法則是刪除數(shù)組冗余數(shù)據(jù),,之后再添加到$arr數(shù)組中。
另外在json編碼中json_encode($arr);會出現(xiàn)中文被unicode編碼,,php5.3加入了options參數(shù),, 5.4以后才加入JSON_UNESCAPED_UNICODE,這個參數(shù),,不需要做escape和unicode處理,。所以在5.4之前都需要對中文做個處理 。5.4里面直接補(bǔ)上代碼中的參數(shù)即可,。

整理網(wǎng)上的方法,,5.4之前處理方法有兩種,方法1:在實(shí)際應(yīng)用中有個問題,,部分字符會掉,原因暫不清楚,。

function encode_json($arr){ $code = json_encode($arr); return preg_replace('#\\\u([0-9a-f]+)#ie', 'iconv('UCS-2', 'UTF-8', pack('H4', '\\1'))', $code); }

方法2:先對需要處理的做urlencode處理,,然后json_encode,,最后做urldecode處理

function encode_json($str) {   return urldecode(json_encode(url_encode($str)));   }  /**  *  */ function url_encode($str) {   if(is_array($str)) {     foreach($str as $key=>$value) {       $str[urlencode($key)] = url_encode($value);     }   } else {     $str = urlencode($str);   }      return $str; } 

mysqli連接mysql數(shù)據(jù)庫的常用方法(面向?qū)ο蠛兔嫦蜻^程)

相信開始學(xué)習(xí)PHP的伙伴們用的都是php4,或者php5,在這些版本中都有一個連接數(shù)據(jù)庫的函數(shù)mysql_connect(),,但在使用php5.5及5.5以上版本時,,你會發(fā)現(xiàn)使用mysql_connect()會直接報錯,這是因?yàn)閜hp5.5以后的版本考慮到未來的可移植性和安全性,,性能而廢棄了mysql_connect()函數(shù),,所以我們只能使用mysqli_connect()和PDO,這里我說一下mysqli_connect(),。

mysqli_connect()的兩種方式,,面向過程和面向?qū)ο蟮倪B接數(shù)據(jù)庫方法。

(1)面向過程連接數(shù)據(jù)庫:

<!-- 面向過程的數(shù)據(jù)庫mysqli連接 --> <?php $conn=mysqli_connect('localhost','root','950609','user'); // 連接數(shù)據(jù)庫user if (!$conn) { # code...判斷鏈接是否成功 echo '連接失??!'; echo mysqli_connect_error(); exit(); } mysqli_query($conn,'set names utf8'); // 指定編碼格式 $sql='select * from goods'; // sql語句 $result=mysqli_query($conn,$sql); // 執(zhí)行sql語句,將執(zhí)行結(jié)果返回到結(jié)果集中 $row=mysqli_fetch_array($result); // 從結(jié)果集中取得一行作為數(shù)組 echo '<pre>'; print_r($row); ?>

(2)面向?qū)ο蟮臄?shù)據(jù)庫連接

<!-- 面向?qū)ο蟮臄?shù)據(jù)庫mysqli連接 --> lt;?php $mysqli=new mysqli('localhost','root','950609','user'); if ( $mysqli -> connect_error ) {   die( 'Connect Error (' . $mysqli -> connect_errno . ') '       . $mysqli -> connect_error ); } $sql = 'select * from goods';   $mysqli->set_charset('utf8');    $result = $mysqli->query($sql);    $row = $result->fetch_array(); // 從結(jié)果集中取得一行作為數(shù)組    echo '<pre>';   print_r($row);    /* free result set */    $result->free();    /* close connection */    $mysqli->close();  > 

這篇文章就介紹到這了,,關(guān)于PHP連接MySQL數(shù)據(jù)庫并以json格式輸出的實(shí)現(xiàn)代碼,,需要的朋友可以參考一下。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多