php5中新增了PDO,他是一個(gè)數(shù)據(jù)庫(kù)訪問抽象層。你也可以理解為驅(qū)動(dòng)程序。
這個(gè)東西比mysqli的好處就是,mysqli只支持mysql,但是PDO支持目前市面上常見的大多數(shù)數(shù)據(jù)庫(kù)。
萬一你做的項(xiàng)目從mysql換成了sql server或者oracle,那你要改的地方可就太多了。
所以現(xiàn)在還是建議使用PD
馬上開整!
這次咱們寫高級(jí)點(diǎn),把連接數(shù)據(jù)庫(kù)那塊的內(nèi)容,寫成一個(gè)公共的文件!
<?php
define("DB_HOST","127.0.0.1");//數(shù)據(jù)庫(kù)地址
define("DB_USER","root");//用戶名
define("DB_PWD","你的數(shù)據(jù)庫(kù)密碼");//密碼
define("DB_NAME","phptest");//要連接的數(shù)據(jù)庫(kù)名稱
define("DB_PORT","3306");//數(shù)據(jù)庫(kù)端口號(hào)
define("DB_TYPE","mysql");//數(shù)據(jù)庫(kù)類型
define("DB_CHARSET","utf8");//設(shè)置字符集
define("DB_DSN","mysql:host=".DB_HOST.";dbname=".DB_NAME.";charset=".DB_CHARSET);
//DSN 提供連接數(shù)據(jù)庫(kù)需要的各種信息,相當(dāng)于在連接數(shù)據(jù)庫(kù)的時(shí)候,附加我們的各種信息.
//舉個(gè)例子,我們的數(shù)據(jù)庫(kù)可能不在3306,在別的端口,或者字符集不是utf-8,我們就是通過這個(gè)發(fā)送出去的
?>
然后是php中的寫法:
<?php
require "config.php";
//require和include的作用完全一樣,但是require遇到錯(cuò)誤會(huì)停止
try{
//try{}catch{} 用于處理操作,如果try中的語句遇到錯(cuò)誤,就會(huì)自動(dòng)進(jìn)入catch中去運(yùn)行
//通過pdo語句連接數(shù)據(jù)庫(kù)
$pdo = new PDO(DB_DSN,DB_USER,DB_PWD);
}catch(PDOException $e){
//一旦出錯(cuò) 輸出錯(cuò)誤信息
echo $e->getMessage();
}
$query = "select * from user";//拼出查詢語句
$result = $pdo->prepare($query);//把查詢語句轉(zhuǎn)化為一條pdo命令
$result->execute();//把pdo命令傳入查詢方法 同es6寫法
//引入顯示模板html
include_once("query.html");

查詢數(shù)據(jù)庫(kù)
html中的寫法和原來區(qū)別不大:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>已注冊(cè)用戶列表</title>
<script src="https://cdn.bootcss.com/jquery/3.1.0/jquery.min.js"></script>
<link rel="stylesheet" >
<style>
.tableBox {
width: 600px;
}
.table {
background: #fff;
}
</style>
</head>
<body class="container bg-info">
<div class="tableBox">
<h3>已注冊(cè)用戶列表</h3>
<table class="table table-bordered">
<thead>
<tr>
<td>id</td>
<td>郵箱</td>
<td>密碼</td>
<td>電話</td>
</tr>
</thead>
<tbody>
<!--fetch() pod專用的寫法 獲取結(jié)果集 ::FETCH_ASSOC 數(shù)組形式-->
<?php while($rows = $result -> fetch(PDO::FETCH_ASSOC)) { ?>
<tr>
<td>
<?php echo $rows['id']?>
</td>
<td>
<?php echo $rows['email']?>
</td>
<td>
<?php echo $rows['password']?>
</td>
<td>
<?php echo $rows['tel']?>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</body>
</html>