91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用PHP怎么連接MySQL數據庫并以json格式輸出

發布時間:2021-05-31 16:24:15 來源:億速云 閱讀:199 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關使用PHP怎么連接MySQL數據庫并以json格式輸出,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

1.簡介

PHP連接數據庫有多種方法,現介紹常用的MySQL數據庫連接方法,PHP連接MySQL也有兩種方式,一是面向對象,二是面向過程方式,兩種方法稍有區別。下面通過代碼介紹兩種方法連接MySQL并以json格式輸出。

2、面向對象方式

<?php 
header("content-Type: text/html; charset=utf-8");//字符編碼設置 
$servername = "localhost"; 
$username = "root"; 
$password = "123456"; 
$dbname = "mydb"; 
 
// 創建連接 
$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(); 
// 輸出每行數據 
while($row = $result->fetch_assoc()) { 
  $count=count($row);//不能在循環語句中,由于每次刪除row數組長度都減小 
  for($i=0;$i<$count;$i++){ 
    unset($row[$i]);//刪除冗余數據 
  } 
  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");//字符編碼設置 
$servername = "localhost"; 
$username = "root"; 
$password = "123456"; 
$dbname = "mydb"; 
 
// 創建連接 
$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);//不能在循環語句中,由于每次刪除 row數組長度都減小 
  for($i=0;$i<$count;$i++){ 
    unset($row[$i]);//刪除冗余數據 
  } 
 
  array_push($arr,$row); 
 
} 
echo json_encode($arr,JSON_UNESCAPED_UNICODE); 
mysqli_close($con); 
 
?>

4.輸出json示例

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

5.json輸出說明

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

Array ( [0] => 小區1 [NAME] => 小區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 )

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

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

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數據庫的常用方法(面向對象和面向過程)

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

mysqli_connect()的兩種方式,面向過程和面向對象的連接數據庫方法。

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

<!-- 面向過程的數據庫mysqli連接 --> 
<?php 
  $conn=mysqli_connect("localhost","root","950609","user"); 
  // 連接數據庫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); 
  // 執行sql語句,將執行結果返回到結果集中 
  $row=mysqli_fetch_array($result); 
  // 從結果集中取得一行作為數組 
  echo "<pre>"; 
  print_r($row); 
?>

(2)面向對象的數據庫連接

<!-- 面向對象的數據庫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(); // 從結果集中取得一行作為數組  
  echo '<pre>'; 
  print_r($row);  
  /* free result set */  
  $result->free();  
  /* close connection */  
  $mysqli->close();  
>

關于使用PHP怎么連接MySQL數據庫并以json格式輸出就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

厦门市| 关岭| 晋宁县| 同江市| 乌拉特前旗| 秦皇岛市| 连云港市| 边坝县| 饶阳县| 县级市| 廉江市| 霸州市| 介休市| 建湖县| 海南省| 清新县| 水城县| 三门峡市| 镇远县| 儋州市| 临夏市| 桦南县| 安吉县| 宣城市| 余江县| 南丰县| 讷河市| 乐清市| 兴和县| 永登县| 忻城县| 德化县| 盐山县| 饶平县| 虎林市| 永登县| 积石山| 龙海市| 紫金县| 刚察县| 景谷|