php数据库编程---mysqli扩展库
2015-11-02 16:40
561 查看
1,mysqli扩展库允许我们访问MySQL数据库,并对MySql数据库进行curd操作。Mysqli扩展库比mysql扩展库加强了。
2,mysqli扩展库和mysql扩展库的比较
① mysqli的稳定性和安全性,效率有所提高;
② mysqli支持面向对象编程,同时mysqli扩展库考虑到php老程序员,提供面向过程的编程风格。
3,mysqli有两套编程风格
4,mysqli编程的快速入门,编写一个程序,这个程序从user1数据表中读取数据,并打印在网页中。
① 面向对象实现
② 面向过程实现
5,程序中的$res用于代表Sql语句的执行结果
① 如果执行的是dml语句,则返回bool;
② 如果执行的是dql语句,则返回查询结果MySQLi_Result结果集对象;
6,从mysqli result取出查询的结果有如下方式,推荐使用前两种方式,效率高。
① mysqli_result::fetch_assoc
② mysqli_result::fetch_row
③ mysqli_result::fetch_array
④ mysqli_result::fetch_object
7,数据库连接是非常稀有的资源,我们使用原则是晚创建、早释放。mysqli的面向对象特性对数据库进行增删改操作。操作过程中如果对应数据库的string类型,要求我们用''包括;如果对应数据库的数值型,则可以用''包括,也可以不用。
2,mysqli扩展库和mysql扩展库的比较
① mysqli的稳定性和安全性,效率有所提高;
② mysqli支持面向对象编程,同时mysqli扩展库考虑到php老程序员,提供面向过程的编程风格。
3,mysqli有两套编程风格
4,mysqli编程的快速入门,编写一个程序,这个程序从user1数据表中读取数据,并打印在网页中。
① 面向对象实现
<?php //mysqli操作mysql数据库(面向对象风格) //1,创建mysqli对象 $mysqli = new MySQLi("127.0.0.1","root","123456","test"); //验证是否ok if($mysqli->connect_error){ die("连接失败! ".$mysqli->connect_error); } $mysqli->query("set names utf-8"); //2,操作数据库(发送sql) $sql = "select * from user1"; //$res是结果集.mysqli result $res = $mysqli->query($sql); //3,处理结果 while($row = $res->fetch_row()){ foreach($row as $key=>$val){ echo "--$val"; } echo "<br/>"; } //4,关闭资源 //释放资源 $res->free(); //关闭连接 $mysqli->close(); ?>
② 面向过程实现
<?php //mysqli操作mysql数据库(面向过程风格) //1,得到mysqli连接 $mysqli = mysqli_connect("127.0.0.1","root","123456","test"); if(!$mysqli){ die("连接失败".mysqli_connect_error($mysqli)); } mysqli_query("set names utf-8"); //2,向数据库发送sql语句(ddl,dml dql.....) $sql = "select * from user1"; mysqli_query($mysqli,$sql); //3,处理得到的结果 //循环取出$res中的数据mysqli_fetch_row mysql_fetch_row while($row=mysqli_fetch_row($res)){ foreach($row as $key=>$val){ echo "--$val"; } echo "<br/>"; } //4,关闭资源 //释放资源 mysqli_free_result($res); //关闭连接 mysqli_close(); ?>
5,程序中的$res用于代表Sql语句的执行结果
① 如果执行的是dml语句,则返回bool;
② 如果执行的是dql语句,则返回查询结果MySQLi_Result结果集对象;
6,从mysqli result取出查询的结果有如下方式,推荐使用前两种方式,效率高。
① mysqli_result::fetch_assoc
② mysqli_result::fetch_row
③ mysqli_result::fetch_array
④ mysqli_result::fetch_object
7,数据库连接是非常稀有的资源,我们使用原则是晚创建、早释放。mysqli的面向对象特性对数据库进行增删改操作。操作过程中如果对应数据库的string类型,要求我们用''包括;如果对应数据库的数值型,则可以用''包括,也可以不用。
<?php header("Content-type:text/html;charset=utf-8"); //mysqli操作mysql数据库(面向对象风格) //1,创建mysqli对象 $mysqli = new MySQLi("127.0.0.1","root","123456","test"); //验证是否ok if($mysqli->connect_error){ die("连接失败! ".$mysqli->connect_error); } //2,操作数据库(发送sql) //$sql = "insert into user1 (name,password,email,age) VALUES ('小红',md5('123456'),'xiaohong@126.com',9)"; //$sql = "delete from user1 where id = 3"; $sql = "update user1 set name = '小花', password = md5('120987'),email='757499089@qq.com',age = 20 where id = 4"; //$res是结果集.mysqli result $res = $mysqli->query($sql); if(!$res){ echo "操作失败".$mysqli->error; }else{ if($mysqli->affected_rows > 0){ echo "执行成功!"; }else{ echo "没有数据表没有变化!"; } } //4,关闭资源 //关闭连接 $mysqli->close();
相关文章推荐
- MYSQL FIND_IN_SET()
- mysqldump使用方法
- Ten ways to improve the performance of large tables in MySQL--转载
- MySQL技术之旅--MySQL自动安装脚本
- MyBatis(二)--对MySQL数据表进行CRUD操作
- mysql管理工具之pt-heartbeat
- vc2008: 控制台程序将数据写入MySql(数据库信息从配置文件读取)
- mysql报错
- mysql出错
- mysql命令更改表结构:添加、删除、修改字段、调整字段顺序
- MYSQL遇到的问题--windows: Access denied for user 'root'@'localhost'
- mysqldump命令的常用组合
- mysql中文排序问题
- 解决不能mysqldump备份权限不够的问题
- MySQL EXPLAIN 命令详解学习
- mysql字段中包含关键字如何转义
- MySQL修改配置 区分大小写和不区分大小写
- MySql出现#1036 – Table ‘ ‘ is read only 错误解决方法
- MySQL创建新用户时登录出错(ERROR 1045)
- Mysql中下划线表示匹配任意字符