摘要:之前學習了PDO之后感覺mysqli就很簡單了,不過兩者功能上除了PDO可以操作任何種類的數據庫類型之外,和mysqli有什么其他區(qū)別么?一.mysqli連接數據庫函數 mysqli_connect('主機名','用戶名','密碼','數據庫名','端口號');//連接數據庫 $db 
之前學習了PDO之后感覺mysqli就很簡單了,不過兩者功能上除了PDO可以操作任何種類的數據庫類型之外,和mysqli有什么其他區(qū)別么?
一.mysqli連接數據庫函數
mysqli_connect('主機名','用戶名','密碼','數據庫名','端口號');
//連接數據庫 $db = @mysqli_connect('127.0.0.1','root','root','wpx','3306'); //如果連接出現錯誤 if(!$db){ //鏈接失敗,輸出錯誤信息 exit('數據庫報錯:'.mysqli_connect_error()); } //封裝方法: function connect(array $data){ //限制為數組格式 //連接數據庫 $conn = @mysqli_connect($data['host'],$data['user'],$data['pass'],$db['dbname'],3306); if(!$conn){ exit('數據庫報錯:'.mysqli_connect_error()); } return $conn; } //連接數據庫的信息 $data = [ 'host'=>'127.0.0.1', 'user'=>'root', 'pass'=>'root', 'dbname'=>'wpx' ]; //調用方法 $db = connect($data);
二.關閉數據庫操作
mysqli_close()
$db = @mysqli_connect('127.0.0.1','root','root','wpx','3306'); //.......操作 mysqli_close($db);
三.數據庫增刪改查操作
mysqli_query('數據庫源','sql語句'); 根據不同的sql語句來執(zhí)行不同的操作
1.更新操作 傳入where!!!
$db = @mysqli_connect('127.0.0.1','root','root','wpx','3306'); $sql = "UPDATE `director` SET `name`='小寶' WHERE `tid`=2;"; $return = mysqli_query($db,$sql); print_r($return); //封裝方法 function save($db,$sql){ $return = mysqli_query($db,$sql); return $return; }
2.新增操作 如果想返回新增的主鍵id mysqli_insert_id($數據庫源)
$db = @mysqli_connect('127.0.0.1','root','root','wpx','3306'); $sql = "INSERT INTO `director`(`name`,`phone`,`country`,`add_time`) VALUES ('李洪綢','18888888888','中國','{$addTime}');"; $res= mysqli_query($db,$sql); //return $res; //成功返回1 //如果想返回自增id if($res){ $return = mysqli_insert_id($db); } return $return; //封裝方法 function insert($db,$sql){ $return = mysqli_query($db,$sql); //如果成功返回自增id if($return){ $return = mysqli_insert_id($db); } return $return; }
3.刪除操作 傳入where!!!
$sql = "DELETE FROM `director` WHERE `tid`=6;"; $return = mysqli_query($db,$sql); var_dump($return); //封裝方法 function delete($db,$sql){ $return = mysqli_query($db,$sql); return $return; }
4.查詢操作 mysqli_fetch_assoc() 執(zhí)行一次返回一條數據 再次執(zhí)行返回下條數據
$sql = "SELECT * FROM `user` WHERE `uid`=2;"; $return = mysqli_query($db,$sql); $return = mysqli_fetch_assoc($return); //封裝方法 //查詢數據 function select($db,$table,$where,$order,$limit){ $sql = "SELECT * FROM ".$table.' WHERE '.$where; if($order){ $sql .= ' ORDER BY '.$order; } if($limit){ $sql .= ' LIMIT '.$limit; } echo $sql; $return = mysqli_query($db,$sql); $rows = []; if($return){ while($row = mysqli_fetch_assoc($return)){ $rows[] = $row; } //釋放內存 mysqli_free_result($return); } return $rows; } // $res = select($db,'user','uid>5','uid desc','0,5'); //查詢一條數據 function find($db,$table,$where){ $sql = "SELECT * FROM ".$table.' WHERE '.$where.' LIMIT 1'; $return = mysqli_query($db,$sql); $return = mysqli_fetch_assoc($return); return $return; } // $return = find($db,'user','uid>3'); //查詢某個字段數據 function find_one($db,$table,$filed,$where){ $sql = "SELECT ".$filed." FROM ".$table.' WHERE '.$where. ' LIMIT 1'; $return = mysqli_query($db,$sql); $return = mysqli_fetch_assoc($return); return $return; } // $return = find_one($db,'user','name,phone','uid=5'); //統(tǒng)計數量 function count_number($db,$table,$where){ $sql = 'SELECT COUNT(*) AS `count_number` FROM '.$table.' WHERE '.$where; $return = mysqli_query($db,$sql); $return = mysqli_fetch_assoc($return); return $return; } // $return = count_number($db,'user','uid>4');
批改老師:天蓬老師批改時間:2018-12-03 17:16:25
老師總結:mysqli 現在已經用得極少了, 基本上都是用PDO實現, 但學習mysqli 還是有必要的