• php数据库编程---mysql扩展库


    1, Java有一种方式操作数据库, PHP有三种方式来操作mysql数据库。(1)mysql扩展库;(2)mysqli扩展库;(3)pdo;

    2, mysql扩展库和mysql数据库区别

     

    3, mysql数据库的三层结构示意图

     

    4, mysql扩展库是一堆函数,是PHP设计者提供给程序员用于完成对mysql数据库的各种操作(CRUD)。使用php的mysql扩展库完成对mysql操作的案例:编写一个程序,这个程序从user1表中读取数据,并打印在网页中。

    (1)环境搭建

    ①启用mysql扩展库,在php.ini文件中配置mysql扩展库,extension=php_mysql.dll。可以通过<?php phpinfo(); ?>查看当前php支持什么扩展库。

    ② 创建一张用户表,表中插入数据,供程序使用。

    (2)编写php程序,完成对用户表的显示。

    //mysql扩展库操作mysql数据库步骤如下
    //1.获取连接
    $conn = mysql_connect("127.0.0.1","root","123456");
    if(!$conn){
        die("连接失败".mysql_error());
    }
    //2.选择数据库
    mysql_select_db("test",$conn) or die(mysql_error());
    //3.设置操作编码(建议有)
    mysql_query("set names utf-8");
    //4.发送指令sql(ddl数据定义语言,比如创建表,dml数据操作语言,是insert、update、delete,dql数据查询语言,是select,dtl数据事务语句,比如rollback commit..)
    $sql = "select * from  user1";
    $res = mysql_query($sql,$conn);
    if(!$res){
        echo "操作失败".mysql_error();
    }
    //5.接收返回的结果,并处理
    while($row = mysql_fetch_row($res)){
        var_dump($row);
    }
    //6.释放资源,关闭连接
    mysql_free_result($res);
    //这句话没有也可以,推荐有这个
    mysql_close($conn);

    5, 细节

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

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

    (3)执行完$res = mysql_query($sql, $conn);,直接关闭连接mysql_close($conn);,对程序没有影响,这是因为$res指向内存中相应资源(数据库数据导入内存),不需要数据库。这和java不一样的。

    (4)从$res获取行数据的时候,除了mysql_fetch_row($res),还有三个方法,分别是:

      ① mysql_fetch_row($res),返回一个索引的数组;

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

      ③ mysql_fetch_array($res),返回索引数组和关联数组(两套);

      ④ mysql_fetch_object($res),把一行数据,当作一个对象返回

    6,对数据库进行增删改时候,流程和查询一样,使用$res = mysql_execute($sql,$conn);,只需改变$sql语句即可。

    //mysql扩展库操作mysql数据库步骤如下
    //1.获取连接
    $conn = mysql_connect("127.0.0.1","root","123456");
    if(!$conn){
        die("连接失败".mysql_error());
    }
    //2.选择数据库
    mysql_select_db("test",$conn) or die(mysql_error());
    //3.设置操作编码(建议有)
    mysql_query("set names utf-8");
    //4.发送指令sql(ddl数据定义语言,比如创建表,dml数据操作语言,是insert、update、delete,dql数据查询语言,是select,dtl数据事务语句,比如rollback commit..)
    $sql = "insert into user1(name,password,email,age) VALUES('小花',md5('123456'),'757433893@qq.com',24)";
    //$sql = "update user1 set name= '小兰',password=md5('000000'),email='757433084@qq.com',age=25 where id = 4 ";
    //$sql = "delete from user1 where id = 4 ";
    $res = mysql_query($sql,$conn);
    if(!$res){
        echo "操作失败".mysql_error();
    }
    if(mysql_affected_rows($conn) > 0){
        echo "操作成功";
    }else{
        echo "数据表没有变化";
    }
    //5.接收返回的结果,并处理
    //这句话没有也可以,推荐有这个
    mysql_close($conn);
    

      

  • 相关阅读:
    ubuntu下按安装lamp
    linux 一些简记
    编写shell脚本步骤
    C++ array vector 数组
    抓取网页扒图片相对路径改绝对路径
    静态html文件js读取url参数
    IE7的web标准之道——1:前言(兼目录) (很牛的CSS书籍)
    感谢放逐自由《博客园精华集》分类索引
    这篇文章证实了索引对于IN,LIKE的优化程度,顺便学会了怎么看看语耗费的时间
    命名空间“System”中不存在类型或命名空间名称“Linq”(是缺少程序集引用吗?)
  • 原文地址:https://www.cnblogs.com/usa007lhy/p/4920646.html
Copyright © 2020-2023  润新知