PHP连接数据库的方式

1,旧的方式 - mysql(面向过程)

 1 <?php
 2 //定义连接参数
 3 $host = 'localhost';
 4 $user = 'root';
 5 $password = '';
 6 $dbname = 'databasename';
 7 
 8 //第一步开始连接到数据库主机地址
 9 $con = @mysql_connect($host, $user, $password); #错误抑制符在产生错误的时候不提示错误
10 //如果没有连接成功,提示错误
11 if(!$con){
12     die("Could not connect to the server: \n" . mysql_error());
13 }
14 
15 //第二步开始选择数据库
16 $select_db = mysql_select_db($dbname);
17 #开始判定
18 if(!$select_db){
19     die("Could not select the database: \n" . $dbname . mysql_error());
20 }
21 
22 //第三步开始查询数据库
23 $sql = "select * from table"; #定义sql语句
24 $res = mysql_query($sql); #利用mysql_query方法查询结果并存储在$res中
25 //开始判定是否取得结果
26 if(!$res){
27     die("Could not get the results: \n" . mysql_error());
28 }
29 
30 //第四步在浏览器显示结果
31 while($row = mysql_fetch_assoc($res)){
32     print_r($row);
33 }
34 ?>

2,新的方式myslqi(面向过程)

 1 <?php
 2 //定义连接参数
 3 $host = 'localhost';
 4 $user = 'root';
 5 $password = '';
 6 $dbname = 'databasename';
 7 
 8 //开始连接数据库
 9 $conn = mysqli_connect($host, $user, $password, $dbname);
10 #判定是否连接成功
11 if(mysqli_connect_errno($conn)){
12     die("Could not connect to the database: \n" . mysqli_connect_error());
13 }
14 
15 //设置查询数据库编码格式
16 mysqli_query($conn, "set names utf8"); #设置数据库编码格式,注意utf8没有-;
17 
18 //定义查询语句
19 $sql = "select * from table";
20 //开始查询
21 $query = mysqli_query($conn, $sql);
22 
23 //获取结果
24 while($row = mysqli_fetch_array($query)){
25     print_r($row);
26 }
27 
28 //释放结果
29 mysqli_free_result($query);
30 //关闭连接
31 mysqli_close($conn);
32 ?>

3,个人喜欢的方式,mysqli(面向对象)

 1 <?php
 2 //定义连接参数
 3 $host = 'localhost';
 4 $user = 'root';
 5 $password = '';
 6 $dbname = 'databasename';
 7 
 8 //开始连接数据库
 9 $conn = new mysqli($host, $user, $password, $dbname);
10 /*
11     也可以这样连接
12     $conn = new mysqli();
13     $conn->connect($host, $user, $password, $dbname);
14 */
15 //开始判定是否连接
16 if($conn->connect_errno){
17     die("Could not connect to the databse: \n" . $conn->connect_error);
18 }
19 
20 //定义sql语句
21 $sql = "select * from table";
22 //调用对象方法query进行查询
23 $query = $conn->query($sql);
24 
25 //开始返回结果并打印在浏览器上
26 while($row = $query->fetch_array()){
27     print_r($row);
28 }
29 
30 //释放结果
31 $query->free_result();
32 //关闭连接
33 $conn->close();
34 ?>

4,利用mysql做一个类来查询数据库 

 

 1 <?php
 2 class databaseConnect{
 3     //初始化连接数据库的必要参数
 4     private $host = 'localhost';
 5     private $user = 'root';
 6     private $password = '';
 7     private $dbname = 'databasename';
 8 
 9     //类被实例化后直接显示结果
10     public function __construct(){
11         $this->connect_to_server();
12         $this->select_the_database();
13         $this->get_results();
14     }
15 
16     //用private关键词封装数据库连接方法
17     private function connect_to_server(){
18         $con = @mysql_connect($this->host, $this->user, $this->password);
19         if(!$con){
20             die("Could not connect to the server: \n" . mysql_error());
21         }
22     }
23 
24     //用private关键词封装数据库选择方法
25     private function select_the_database(){
26         $select_db = mysql_select_db($this->dbname);
27         if(!$select_db){
28             die("Could not select the database: \n" . $this->dbname . " " . mysql_error());
29         }
30     }
31 
32     //用private关键字封装数据库查询方法
33     private function query_db(){
34         $sql = "select * from table";
35         $query = @mysql_query($sql);
36         if(!$query){
37             die("Could not get the query: \n" . mysql_error());
38         }
39         return $query; #将结果返回到调用的代码行
40     }
41 
42     //用private关键字封装结果方法
43     private function get_results(){
44         $res = $this->query_db(); #取得数据库查询方法里的结果
45         $row = mysql_fetch_assoc($res);
46         print_r($row);
47     }
48 }
49 
50 $s = new databaseConnect(); #实例化类并赋值给$s得到一个databaseConnect的对象,首先调用的方法就是__construct();得到结果在浏览器
51 
52 var_dump($s);
53 
54 ?>

 

PHP连接数据还有PDO。

 

posted @ 2020-10-16 15:53  、一叶孤城  阅读(592)  评论(0编辑  收藏  举报