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

PHP基础:MYSQL数据库操作的更多相关文章

  1. Vc数据库编程基础MySql数据库的表查询功能

    Vc数据库编程基础MySql数据库的表查询功能 一丶简介 不管是任何数据库.都会有查询功能.而且是很重要的功能.上一讲知识简单的讲解了表的查询所有. 那么这次我们需要掌握的则是. 1.使用select ...

  2. Vc数据库编程基础MySql数据库的常见库命令.跟表操作命令

    Vc数据库编程基础MySql数据库的常见操作 一丶数据库常见的库操作 1.1查看全部数据库 命令:  show databases 1.2 创建数据库 命令: Create database 数据库名 ...

  3. php : mysql数据库操作类演示

    设计目标: 1,该类一实例化,就可以自动连接上mysql数据库: 2,该类可以单独去设定要使用的连接编码(set names XXX) 3,该类可以单独去设定要使用的数据库(use XXX): 4,可 ...

  4. php MySQL数据库操作类源代码

    php MySQL数据库操作类源代码: <?php class MySQL{ private $host; //服务器地址 private $name; //登录账号 private $pwd; ...

  5. 设计模式 - 单例模式mysql数据库操作类

    待续... index.php 调用方法: <?php header('Content-Type:text/html; charset=utf8'); require 'instance.php ...

  6. MySQL数据库操作常用命令

    MySQL数据库操作常用命令DOS连接数据库1.安装MySQL配置好环境2.运行cmd命令net start mysql3.找到mysql文件根目录输入命令mysql -h localhost -u ...

  7. Python/MySQL(四、MySQL数据库操作)

    Python/MySQL(四.MySQL数据库操作) 一.数据库条件语句: case when id>9 then ture else false 二.三元运算: if(isnull(xx)0, ...

  8. Java通过JDBC 进行MySQL数据库操作

    转自: http://blog.csdn.net/tobetheender/article/details/52772157 Java通过JDBC 进行MySQL数据库操作 原创 2016年10月10 ...

  9. Vc数据库编程基础MySql数据库的表增删改查数据

    Vc数据库编程基础MySql数据库的表增删改查数据 一丶表操作命令 1.查看表中所有数据 select * from 表名 2.为表中所有的字段添加数据 insert into 表名( 字段1,字段2 ...

  10. Mysql 数据库操作之DDL、DML、DQL语句操作

    Mysql 数据库操作之DDL.DML.DQL语句操作 设置数据库用户名密码 l  Show databases 查看数据库列表信息 l  查看数据库中的数据表信息 ,格式: use 数据库名: sh ...

随机推荐

  1. turtle库的学习

          Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动, ...

  2. js深度复制三种方法

    1.用递归的方式进行深度复制 2.用JSON.stringify加上JSON.parse()进行深度复制 3.用jquery中自带的方法$.extend()进行深度复制 具体实现代码可百度自行查询

  3. 亿级SQL Server运维的最佳实践PPT分享

    这次分享是我在微软的一次分享,关于SQL Server运维最佳实践的部分,由于受众来自不同背景,因此我让分享在一个更加抽象的角度进行,PPT分享如下: 点击这里进行下载

  4. 深入理解Spring Redis的使用 (四)、RedisTemplate执行Redis脚本

    对于Redis脚本使用过的同学都知道,这个主要是为了防止竞态条件而用的.因为脚本是顺序执行的.(不用担心效率问题)比如我在工作用,用来设置考试最高分. 如果还没有用过的话,先去看Redis脚本的介绍, ...

  5. Android 音视频开发(一) : 通过三种方式绘制图片

    版权声明:转载请说明出处:http://www.cnblogs.com/renhui/p/7456956.html 在 Android 音视频开发学习思路 里面,我们写到了,想要逐步入门音视频开发,就 ...

  6. Spring Boot 面试题

    1.列举一些SpringBoot特性 1.创建独立的Spring项目 2.内置Tomcat和Jetty容器 3.提供一个starter POMs来简化Maven配置 4.提供了一系列大型项目中常见的非 ...

  7. java代码之美(9)---guava之Lists、Maps

    guava之Lists.Maps 谷歌提供了guava包里面有很多的工具类,Lists和Maps集合工具,集合操作做了些优化提升. 1.概述 1.静态工厂方法 (1)Guava提供了能够推断范型的静态 ...

  8. 《深入理解Java虚拟机》-----第2章 Java内存区域与内存溢出异常

    2.1 概述 对于从事C.C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又是执行最基础工作的劳动人民——拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任 ...

  9. Python爬虫入门教程 13-100 斗图啦表情包多线程爬取

    斗图啦表情包多线程爬取-写在前面 今天在CSDN博客,发现好多人写爬虫都在爬取一个叫做斗图啦的网站,里面很多表情包,然后瞅了瞅,各种实现方式都有,今天我给你实现一个多线程版本的.关键技术点 aioht ...

  10. C#版 - PAT乙级(Basic Level)真题 之 1021.个位数统计 - 题解

    版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C#版 - P ...