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技术选型

  • 相关阅读:
    取出某块内存的二进制数据
    拷贝构造函数的第一个参数必须是自身类类型的引用
    大小端,memcpy和构造函数
    类型装换和内存数据显示
    ERROR: iterator not incrementable || iterator not decrementable
    什么时候删除指针后,要给指针赋NULL
    chapter11、4concurrent.future模块
    chapter11、3多进程 multiprocessing
    chapter8.3、二分查找
    chapter8.2、面向对象三要素--继承
  • 原文地址:https://www.cnblogs.com/Javame/p/9752383.html
Copyright © 2011-2022 走看看