当前位置: 首页 >> PHP >> PHP进阶之数据库编程 >> 正文

PHP进阶之数据库编程

2014年04月28日 17:49:36    作者:zoulinss    分类:PHP     评论(0)

Php数据库编程:

Php有三种方式来操作mysql数据库

① mysql扩展库

② mysqli扩展库

③ pdo

Mysql数据库和mysql扩展库的区别

Mysql数据库:存放数据

Mysql扩展库:操作mysql的一堆函数


编写一个程序,这个程序从user1表中读取数据,并打印在网页中

1、搭建环境

1.1、启用mysql扩展库

Extension=php_mysql.dll

可以通过 <?php phpinfo() ?> 来查看当前php支持的扩展库

1.2、创建一张用户表,供我们使用

 create table user1(
        id int(10) AUTO_INCREMENT,        
        name varchar(32) not null,        
        password varchar(64) not null,
        email varchar(64) not null,        
        age tinyint unsigned ,
        PRIMARY key(id)
 )


 

预先加入数据

 

insert into test.user1 (name,password,email,age) values ('zoulin',md5('123'),'zoulin@163.com',24);

md5('123') : md5对密码进行加密

 

mysql扩展库操作mysql数据库,步骤如下:

1、获取连接

2、选择数据库

3、设置操作编码(可以没有,建议有)

4、发送指令sqlddl数据定义语句,dml(数据库操作语言 update  insert delete , dqlselect),dtl 数据事务语句 rollback  commit ...))

5、接收返回的结果,并处理

6、释放资源,关闭连接

 

具体案例:

<?php
    //用mysql扩展库操作mysql数据库
    //1、获取连接
    $conn=mysql_connect('localhost',"root","root");
    if(!$conn){
        die("数据库连接失败".mysql_error());
    }
    //2、选择数据库
    mysql_select_db("test");
    //3、设置操作编码(可以没有,建议有)
    mysql_query("set names utf8");//保证我们的php程序是按照utf8码操作的
    //4、发送指令sql(ddl数据定义语句,dml(数据库操作语言 update  insert delete , dql(select),dtl 数据事务语句 rollback  commit ...))
    $sql="select * from user1";
    //$res 表示结果集 可以简单的理解为就是一张表
    $res=mysql_query($sql,$conn);  //可以不填写 $conn 
    //5、接收返回的结果,并处理
    // mysql_fetch_row() 会依次取出$res结果集的下一行数据,赋值给$row
    //$row是一个数组 
    while($row=mysql_fetch_row($res)){
        foreach($row as $key=>$val){
            echo "---$val";
    }
    echo "<br />";
    }
    //6、释放资源,关闭连接
    mysql_free_result($res);
    mysql_close($conn);  //系统会在脚本执行完毕后自动关闭连接,可以不用写
?>

(本案例的编码方式是utf8

 

注意的细节:

1、使用完结果集后一定要及时的释放资源

2、mysql_close() 如果没有的话,系统也会自动关闭

3、返回的 $res 数据类型是属于 mysql result 资源类型

4、$res 获取行数据的时候,除了mysql_fetch_row($res)外,还有三个方法

mysql_fetch_row($res)     返回索引数组(推荐使用

$mysql_fetch_assoc($res)   返回一个关联数组

$mysql_fetch_array($res)   返回索引数组和关联数组(两套,不建议用)

$mysql_fetch_object($res)   把一行数据当做一个对象返回(不建议用)


把数据库里的表在网页上用表格的形式展现出来

 

使用phpmysqli扩展库操作mysql数据库

Mysqlimysql扩展库的增强版

Mysqlimysql扩展库的比较

1mysqli的安全性和稳定性高,效率有所提高

2、Mysqli支持面向对象编程(也同时支持面向过程编程)


Mysqli快速入门

编写一个程序,该程序从表user1中读取数据,并打印在网页中。

1.配置php.ini 文件,让php支持mysqli扩展库

Extension=php_mysqli.dll

2.建库,建表

3.编写代码

转载请注明出处为“本文转载于『嘉绵之恋』原地址http://www.zl266.com/post/61.html

0分/0个投票

评论

发表评论   
*昵称邮箱网址