PHP笔记08:数据库编程---使用php的MySQL扩展库操作MySQL数据库

1.使用php的MySQL扩展库操作MySQL数据库:

php有3种方式操作MySQL数据库
(1)mysql扩展库
(2)mysqli扩展库
(3)pdo
 
 
mysql扩展库与mysql数据库区别 ?
php设计者封装了一些方法去操作mysql数据库,这些方法集中起来形成了mysql扩展库。mysql数据库存放数据。
 
 
2.使用php的MySQL扩展库操作MySQL数据库案例:
(1)环境搭建:启用MySQL数据库,在php.ini文件中配置使用MySQL数据库,
          extension = php_mysql.dll
可以通过:在http://localhost/test.php,这里的test.php文件之中写到:
<?php
    phpinfo() ;//输出php可以使用的扩展库,验证是否开启了mysql服务
?>
 
(2 )创建一张用户表,供我们使用:
create table user1(
       id int  primary  key  auto_increment ,
       name varchar(32) not null ,
       passwd  varchar(64) not null ,
       email   varchar(128) not null ,    
      age   tinyint  unsigned not null
) ;
 
预先加入数据:
insert into user1(name,passwd, email,age) values ('zs', md5('123456'), 'zs@sohu.com' , 30) ;
insert into user1(name,passwd, email,age) values ('ls', md5('123456'), 'ls@sohu.com' , 40) ;
insert into user1(name,passwd, email,age) values ('ww', md5('123456'), 'ww@sohu.com' , 50) ;
insert into user1(name,passwd, email,age) values ('评委', md5('123456'), 'pingwei@sohu.com' , 50) ;
 
这里插入中文会报错:需要进行下面设置:
show variables like '%char%';
set character_set_client = gbk;
set character_set_client = gbk;
(2)编写php程序,完成对用户表的显示:
步骤:
-->1:获取连接:获取mysql扩展库和mysql数据库的连接
-->2:选择数据库
-->3:设置编码(建议有)
-->4:发送指令sql
-->5:接收返回结果,并处理。(显示)
-->6:释放资源,关闭连接
<?php
    header("Content-Type: text/html; charset=utf-8");
   //mysql扩展库操作mysql数据库步骤如下:
   //1.获取连接:获取mysql扩展库和mysql数据库的连接
   $conn = mysql_connect("127.0.0.1","root","root");//参数1:主机名,参数2:用户名,参数3:密码;
   if(!$conn) {
       die("连接失败".mysql_error());
   }
   //2.选择数据库
   mysql_select_db("test");
   
   //3.设置编码(建议有)
   //mysql_
  
  //4.发送指令sql(ddl 数据定义语句),dml (数据操作语句 update insert delete),dql(数据查询语言 select) ,dtl (数据事务语言 rollback commit...)
   $sql = "select *from user1";
   //函数
   //$res表示结果集,你可以简单的理解就是一张表
   $res = mysql_query($sql,$conn);
   //var_dump($res);
   //5.接收返回结果,并处理。(显示)
   //mysql_fetch_row会依次取出$res结果集的下一行数据,赋值给$row
   //$row就是一个数组
   while($row = mysql_fetch_row($res)){
       //第一种:echo "<br/> $row[0]--$row[1]--$row[2]";
       //第二种:echo "<br/>";
       //        var_dump($row);
       //第三种:
       foreach($row as $key=> $val) {
           echo "--$val";
       }
       echo "<br/>";
   }
   //6.释放资源,关闭连接
     mysql_free_result($res);
   mysql_close($conn);
   
   
?>

 上面代码提到了三种显示数据的方法结果如下:

    第一种:echo "<br/> $row[0]--$row[1]--$row[2]";

 

    第二种:echo "<br/>"; var_dump($row);

  第三种:foreach($row as $key=> $val) {
                          echo "--$val";
               }
               echo "<br/>";
 

 

 

mysql_free_result($res); //释放占用的计算机资源,否则计算机会越来越卡!

 mysql_close($conn);//释放连接,如果没有这一句,我们反复刷新页面访问.../mysql/mysqlDemo1.php,会出现很多TIME_WAIT的连接请求:如下

反复刷新页面之后,我们输入一下cmd命令:


查看结果:

 

细节:

  1.使用完$res 结果集后,一定要及时的释放资源

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

  3.从$res获取行数据的时候,处理mysql_fetch_row($res),还有3个方法分别是如下:

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

     mysql_fetch_array($res),mysql_fetch_array() 是 mysql_fetch_row() 的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。

     mysql_fetch_object($res),mysql_fetch_object() 函数从结果集(记录集)中取得一行作为对象。若成功的话,本函数从 mysql_query() 获得一行,并返回一个对象。如果失败或没有更多的行,则返回 false。

posted on 2015-08-08 12:25  鸿钧老祖  阅读(319)  评论(0编辑  收藏  举报

导航