欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP基础:MYSQL数据库操作

程序员文章站 2023-11-11 18:57:40
1.连接到数据库: · 面向对象的方法: $db = new mysqli('hostname', 'username', 'password', 'dbname'); · 面向过程的方法: $db = mysqli_connect('hostname', 'username', 'password ......

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