摘要:之前学习了PDO之后感觉mysqli就很简单了,不过两者功能上除了PDO可以操作任何种类的数据库类型之外,和mysqli有什么其他区别么?一.mysqli连接数据库函数 mysqli_connect('主机名','用户名','密码','数据库名','端口号');//连接数据库 $db 
之前学习了PDO之后感觉mysqli就很简单了,不过两者功能上除了PDO可以操作任何种类的数据库类型之外,和mysqli有什么其他区别么?
一.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语句来执行不同的操作
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() 执行一次返回一条数据 再次执行返回下条数据
$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'); //统计数量 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 还是有必要的