mysql擴展庫操作mysql數據庫


  • 環境搭建

啟用mysql擴展庫,在php.ini文件中去配置mysql擴展庫

extension=php_mysql.dll

  • 查詢數據庫

1、建庫建表

//建庫test
create database test;
//用庫test
use test;
//建表user1
create table user1(
id int primary key auto_increment,
name varchar(32) not null,
password varchar(64) not null,
age tinyint unsigned not null,
birthday date not null
);
//增加數據
insert into user1 (name,password,age,birthday) values ('lm',md5('lm'),25,'1991-01-02');
insert into user1 (name,password,age,birthday) values ('lxz',md5('lxz'),25,'1991-02-03');
insert into user1 (name,password,age,birthday) values ('wy',md5('wy'),25,'1991-03-04');

2、查詢數據庫

 1 <?php
 2     //連接數據庫
 3     $conn=mysql_connect('localhost','root','root');
 4     //如果連接失敗,報錯
 5     if(!$conn){
 6         die("連接數據庫失敗".mysql_error());
 7     }
 8     //選擇數據庫
 9     mysql_select_db('test');
10     //設置操作編碼
11     mysql_query('set names utf8',$conn);
12     //sql語句,實現查詢操作
13     $sql="select * from user1";
14     //執行sql語句
15     $res=mysql_query($sql,$conn);
16     //對結果處理
17     while($row=mysql_fetch_row($res)){
18         echo $row[0]."--".$row[1]."--".$row[2]."--".$row[3]."<br/>";
19         //var_dump($row);
20     }
21     //釋放資源,關閉數據庫
22     mysql_free_result($res);
23     mysql_close($conn);
24 ?>

結果如下:

問題:查詢不到第一行?

3、下面介紹四個結果處理函數的區別

mysql_fetch_row($res)  返回索引數組,如下:

mysql_fetch_assoc($res)  返回關聯數組,如下:

mysql_fetch_array($res)  返回索引數組+關聯數組,如下:

mysql_fetch_object($res)  返回對象,如下:

  •  增刪改數據庫
 1 <?php
 2 //對數據庫增刪改操作,dml語句(insert,delete,upgate)
 3     //連接數據庫
 4     $conn=mysql_connect('localhost','root','root');
 5     //如果連接失敗,報錯
 6     if(!$conn){
 7         die("連接數據庫失敗".mysql_error());
 8     }
 9     //選擇數據庫
10     mysql_select_db('test');
11     //設置字符格式
12     mysql_query('set names utf8',$conn);
13     //sql語句,實現增刪改操作
14     $sql="insert into user1 (name,password,age,birthday) values('skl',md5('skl'),25,'1991-04-05')";
15     //$sql="delete from user1 where name='skl'";
16     //$sql="update user1 set age=18 where name='skl'";
17     //執行sql語句
18     $res=mysql_query($sql,$conn);
19     //dml語句執行后返回結果為布爾型
20     if(!$res){
21         echo "操作失敗".mysql_error();
22     }
23     if(mysql_affected_rows($conn)>0){
24         echo "操作成功";
25     }else{
26         echo "沒有影響到行數";
27     }
28     //關閉數據庫
29     mysql_close($conn);
30 ?>
  •  把對數據庫的操作封裝成類

mysqlTool.class.php

 1 <?php
 2     class MysqlTool{
 3         private $host="localhost";
 4         private $userName="root";
 5         private $pwd="root";
 6         private $dbName="test";
 7         private $conn;
 8         //連接數據庫函數,構造函數(與類同名),實例化后自動調用
 9         public function MysqlTool(){
10             $this->conn=mysql_connect($this->host,$this->userName,$this->pwd);
11             if(!$this->conn){
12                 die("連接數據庫失敗".mysql_error());
13             }
14             mysql_select_db($this->dbName,$this->conn);
15             mysql_query("set names utf8",$this->conn);
16         }
17         //dql語句,完成select
18         public function executeDql($sql){
19             $res=mysql_query($sql,$this->conn) or die("操作失敗".mysql_error());
20             return $res;
21         }
22         //dml語句,完成insert,delete,update
23         public function executeDml($sql){
24             $res=mysql_query($sql,$this->conn);
25             if(!$res){
26                 return 0;//0表示操作失敗
27             }else{
28                 if(mysql_affected_rows($this->conn)>0){
29                     return 1;//1表示操作成功
30                 }else{
31                     return 2;//2表示沒有行數影響
32                 }
33             }
34         }
35         //關閉數據庫
36         public function mysqlClo(){
37             mysql_close($this->conn);
38         }
39     }
40 ?>

實例化類完成查詢數據庫操作:

 1 <?php
 2     //引入類文件
 3     require_once "mysqlTool.class.php";
 4     //對類實例化
 5     $mysqlTool=new MysqlTool();
 6     //查詢數據庫
 7     $sql="select * from user1";
 8     $res=$mysqlTool->executeDql($sql);
 9     while($row=mysql_fetch_row($res)){
10         echo $row[0]."--".$row[1]."--".$row[2]."--".$row[3]."<br/>";
11     }
12     mysql_free_result($res);
13     $mysqlTool->mysqlClo();
14 ?>

實例化類完成增刪改數據庫操作:

 1 <?php
 2     //引入類文件
 3     require_once "mysqlTool.class.php";
 4     //對類實例化
 5     $mysqlTool=new MysqlTool();
 6     //增刪改數據庫
 7     //$sql="insert into user1 (name,password,age,birthday) values ('skl',md5('skl'),25,'1991-04-05')";
 8     //$sql="delete from user1 where name='skl'";
 9     $sql="update user1 set age=18 where name='skl'";
10     $res=$mysqlTool->executeDml($sql);
11     if($res==0){
12         echo "操作失敗";
13     }else if($res==1){
14         echo "操作成功";
15     }else if($res==2){
16         echo "沒有行數影響";
17     }
18     $mysqlTool->mysqlClo();
19 ?>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM