• PHP基础:MYSQL数据库操作


    1.连接到数据库:

    · 面向对象的方法:

       $db = new mysqli('hostname', 'username', 'password', 'dbname');

    · 面向过程的方法:

       $db = mysqli_connect('hostname', 'username', 'password', 'dbname');

    · 连接结果的检查:

       if (mysqli_connect_errno()) {

           echo 'Error: Could not connect to database.';

           exit;

       }

       mysqli_connect_errno()将在连接错误时返回一个错误号,成功则返回0。
     

    2.选择使用的数据库:

    · 面向对象的方法:

       $db->select_db(dbname);

    · 面向过程的方法:

       mysqli_select_db(db_resource, db_name);
     

    3.操作数据库:

    · 面向对象的方法:

       $query = "select * from table table_name";

       $result = $db->query($query);

       返回一个结果对象,执行失败则返回false。

    · 面向过程的方法:

       $query = "select * from table table_name";

       $result = mysqli_query($db, $query);

       返回一个结果资源,执行失败则返回false。

    4.获取结果:

    · 面向对象的方法:    

       $num_results = $result->num_rows;

       当使用面向对象的方法时,返回的行数保存在结果对象的num_rows成员变量中。

       for ($i=0; $i < $num_results; $i++) {

           $row = $result->fetch_assoc();

           $value = $row[key];

           ...

       }

    · 面向过程的方法:

       $num_results = mysqli_num_rows($result);

       当使用面向过程的方法时,调用mysqli_num_rows()可以得到返回的行数。

       for ($i=0; $i < $num_results; $i++) {

           $row = mysqli_fetch_assoc($result);

           $value = $row[key];

           ...

       }

    · 其他的方法:

       1)将结果取回到一个枚举数组中:

           · 面向对象的方法:

               $row = $result->fetch_row();

           · 面向过程的方法:

               $row = mysqli_fetch_row($result);

           然后通过下标访问即可($row[0], $row[1]...)。

       2)将结果取回到一个对象中:

           · 面向对象的方法:

               $row = $result->fetch_object();

           · 面向过程的方法:

               $row = mysqli_fetch_object($result);

           之后通过$row->keyname访问每个属性即可。

    以上是针对数据库查询,如果是执行数据库修改时,应该使用mysqli_affected_rows()来得到受影响的数据库条目总数:

       · 面向对象的方法:

           $num = $db->affected_rows;

       · 面向过程的方法:

           $num = mysqli_affected_rows($db);
     

    5.断开连接:

    · 面向对象的方法:

       $result->free();

    · 面向过程的方法:

       mysqli_free_result($result);

    这样即可释放结果集。

    之后断开数据库连接:

       · 面向对象的方法:

           $db->close();

       · 面向过程的方法:

           mysqli_close($db);

    ____________________________

    推荐阅读:

    Logstash+Kafka+ES实现日志采集系统

    大数据开放平台产品落地方案

    支付宝系统架构内部剖析

    华为Java编程军规,每季度代码验收标准

    大数据Spark与Storm技术选型

  • 相关阅读:
    Tomcat下HTTPS双向认证配置以及客户端调用案例
    Java本地运行中文正常,部署到Weblogic中文乱码
    gson 忽略掉某些字段不进行转换
    JavaScript中定义对象的四种方式
    使用CSS3实现超炫的Loading(加载)动画效果
    不要再使用JS框架了
    HTML5, CSS3, ES5新的web标准和浏览器支持一览 转
    js常用的事件对象
    jQuery用面向对象的思想来编写验证表单的插件
    五个值得尝试的前端开发工具
  • 原文地址:https://www.cnblogs.com/Javame/p/9752383.html
Copyright © 2020-2023  润新知