abstrait:之前學(xué)習(xí)了PDO之后感覺mysqli就很簡單了,不過兩者功能上除了PDO可以操作任何種類的數(shù)據(jù)庫類型之外,和mysqli有什么其他區(qū)別么?一.mysqli連接數(shù)據(jù)庫函數(shù) mysqli_connect('主機(jī)名','用戶名','密碼','數(shù)據(jù)庫名','端口號');//連接數(shù)據(jù)庫 $db 
之前學(xué)習(xí)了PDO之后感覺mysqli就很簡單了,不過兩者功能上除了PDO可以操作任何種類的數(shù)據(jù)庫類型之外,和mysqli有什么其他區(qū)別么?
一.mysqli連接數(shù)據(jù)庫函數(shù)
mysqli_connect('主機(jī)名','用戶名','密碼','數(shù)據(jù)庫名','端口號');
//連接數(shù)據(jù)庫 $db = @mysqli_connect('127.0.0.1','root','root','wpx','3306'); //如果連接出現(xiàn)錯(cuò)誤 if(!$db){ //鏈接失敗,輸出錯(cuò)誤信息 exit('數(shù)據(jù)庫報(bào)錯(cuò):'.mysqli_connect_error()); } //封裝方法: function connect(array $data){ //限制為數(shù)組格式 //連接數(shù)據(jù)庫 $conn = @mysqli_connect($data['host'],$data['user'],$data['pass'],$db['dbname'],3306); if(!$conn){ exit('數(shù)據(jù)庫報(bào)錯(cuò):'.mysqli_connect_error()); } return $conn; } //連接數(shù)據(jù)庫的信息 $data = [ 'host'=>'127.0.0.1', 'user'=>'root', 'pass'=>'root', 'dbname'=>'wpx' ]; //調(diào)用方法 $db = connect($data);
二.關(guān)閉數(shù)據(jù)庫操作
mysqli_close()
$db = @mysqli_connect('127.0.0.1','root','root','wpx','3306'); //.......操作 mysqli_close($db);
三.數(shù)據(jù)庫增刪改查操作
mysqli_query('數(shù)據(jù)庫源','sql語句'); 根據(jù)不同的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($數(shù)據(jù)庫源)
$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í)行一次返回一條數(shù)據(jù) 再次執(zhí)行返回下條數(shù)據(jù)
$sql = "SELECT * FROM `user` WHERE `uid`=2;"; $return = mysqli_query($db,$sql); $return = mysqli_fetch_assoc($return); //封裝方法 //查詢數(shù)據(jù) 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; } //釋放內(nèi)存 mysqli_free_result($return); } return $rows; } // $res = select($db,'user','uid>5','uid desc','0,5'); //查詢一條數(shù)據(jù) 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'); //查詢某個(gè)字段數(shù)據(jù) 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)計(jì)數(shù)量 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');
Professeur correcteur:天蓬老師Temps de correction:2018-12-03 17:16:25
Résumé du professeur:mysqli 現(xiàn)在已經(jīng)用得極少了, 基本上都是用PDO實(shí)現(xiàn), 但學(xué)習(xí)mysqli 還是有必要的