zoukankan      html  css  js  c++  java
  • 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技术选型

  • 相关阅读:
    智能指针和二叉树(2):资源的自动管理
    c++智能指针和二叉树(1): 图解层序遍历和逐层打印二叉树
    QLineEdit拾遗:数据的过滤、验证和补全
    为Qt视图中的文字添加彩虹渐变效果
    python3的变量作用域规则和nonlocal关键字
    三种方法为QLineEdit添加清除内容按钮
    配置CLion作为Qt5开发环境
    c++随机排序容器中的元素
    c++性能测试工具:google benchmark入门(一)
    shared_ptr和动态数组
  • 原文地址:https://www.cnblogs.com/Javame/p/9752383.html
Copyright © 2011-2022 走看看