《hp操作mysql数据库编程.ppt》由会员分享,可在线阅读,更多相关《hp操作mysql数据库编程.ppt(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Php数据库编程Php有三种方式来操作mysql数据库:1、mysql扩展库2、mysqli扩展库3、pdoMysql扩展库和扩展库和mysql数据库的区别:数据库的区别:1、Mysql数据库是用于存放数据库Php程序:使用函数就是mysql扩展库Mysql数据库扩展库中的函数Mysql扩展库和扩展库和mysql数据库的区别:数据库的区别:2、数据库三层结构示意图:Mysql扩展库函数Php程序MysqlDbms(数据库管理系统)数据对象(表,存储过程、函数)数据对象(表,存储过程、函数)数据对象(表,存储过程、函数)客户端Mysql扩展库和扩展库和mysql数据库的区别:数据库的区别:3、m
2、ysql扩展库是一堆函数,是php设计者提供给程序员用于完成对mysql数据库的各种操作。环境搭建:启用mysql扩展库,在php.ini文件中去配置mysql扩展库Extension=php_mysql.dll可以通过 可以查看当前php支持哪些扩展库。Mysql扩展库操作扩展库操作mysql数据库步骤数据库步骤1、获取连接:$link=mysql_connect(localhost,root,root)or die(连接失败.mysql_error();2、选择数据库:mysql_select_db(test,$link)。3、设置操作编码:mysql_query(“set names u
3、tf8”);/保证我们的php程序是按照utf8码操作。4、发送指令sql$sql=select*from goods;$res=mysql_query($sql);Mysql扩展库操作扩展库操作mysql数据库步骤数据库步骤5、接收返回的结果,并处理;while($row=mysql_fetch_row($res)/echo$row0.-.$row1.-.$row2.;foreach($row as$key=$val)echo-$val;echo;6、释放资源关闭连接:mysql_free_result($res);Mysql_close($conn);/可有可无,因为已打开的非持久连接会在
4、脚本执行完毕后自动关闭。$row=mysql_fetch_row会依次取出$res结果集的下一行数据,赋值给$row,$row就是一个数组。Mysql扩展库操作扩展库操作mysql数据库步骤数据库步骤注意:程序中的$res用于代表sql语句的执行结果。如果执行的是dml语句,则返回bool值。如果执行的是dql语句,则返回查询结果。常用的一些sql语句:(1)查看表在哪个库中,s或show tables(2)show databases;(3)create datebase 数据库名称;(4)header(content-type:text/html;charset=utf-8);Mysql_
5、fetch_row($res):返回一个索引的数组(推荐)。Mysql_fetch_assoc($res):返回一个关联的数组Mysql_fetch_array($res):返回索引数组和关联数组Mysql_fetch_boject($res):把一行数据当做一个对象返回。mysql_query()向与指定的连接标识符关联的服务器中的当前活动数据库发送一条查询。如果没有指定 link_identifier,则使用上一个打开的连接。如果没有打开的连接,本函数会尝试无参数调用 mysql_connect()函数来建立一个连接并使用之。查询结果会被缓存。mysql_select_db()设定与指定的
6、连接标识符所关联的服务器上的当前激活数据库。如果没有指定连接标识符,则使用上一个打开的连接。如果没有打开的连接,本函数将无参数调用 mysql_connect()来尝试打开一个并使用之。从从$res获取行数据的方法:获取行数据的方法:注意:程序中的注意:程序中的$res用于代表用于代表sql语句的执行结果。如果执行的是语句的执行结果。如果执行的是dml语句,语句,则返回则返回bool值。如果执行的是值。如果执行的是dql语句,则返回查询结果。语句,则返回查询结果。我们知道总有多少行和多少列$rows=mysql_num_rows($res)$colums=mysql_num_fields($r
7、es);Mysql_field_name($res,$i):取得结果中指定字段的字段名。示例:for($i=0;$i$colums;$i+)$field_name=mysql_field_name($res,$i);echo-$field_name;Mysql_fetch_field($res):从结果集中取得列信息并作为对象返回。示例:while($field_info=mysql_fetch_field($res)echo.$field_info-name;取出字段的名称取出字段的名称工具类工具类声明变量:声明变量:class sqltoolpublic$conn;private$host
8、=localhost;private$user=root;private$password=root;private$db=test;工具类工具类构造函数:构造函数:function sqltool()$this-conn=mysql_connect($this-host,$this-user,$this-password);mysql_select_db($this-db,$this-conn);mysql_query(set names utf8);工具类工具类dml函数:函数:public function execute_dml($sql)$b=mysql_query($sql,$th
9、is-conn);if(!$b)return 0;elseif(mysql_affected_rows($this-conn)0)return 1;else return 2;工具类工具类dql函数:函数:public function execute_dql($sql)$res=mysql_query($sql,$this-conn);return$res;Mysql_num_rows($res)返回结果集中行的数目。此命令仅对select语句有效。要取得被insert update 或者delete查询所影响到的行数,用Mysql_affected_rows($conn)注意:单引号注意:单引号$sql=“select chword from words where enword=”.$enword.”;mysql_insert_id($conn):取得上一步 INSERT 操作产生的 ID。mysql_free_result($res)和mysql_close($conn):关闭 MySQL 连接
限制150内