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);
____________________________
推荐阅读:
PHP基础:MYSQL数据库操作的更多相关文章
- Vc数据库编程基础MySql数据库的表查询功能
Vc数据库编程基础MySql数据库的表查询功能 一丶简介 不管是任何数据库.都会有查询功能.而且是很重要的功能.上一讲知识简单的讲解了表的查询所有. 那么这次我们需要掌握的则是. 1.使用select ...
- Vc数据库编程基础MySql数据库的常见库命令.跟表操作命令
Vc数据库编程基础MySql数据库的常见操作 一丶数据库常见的库操作 1.1查看全部数据库 命令: show databases 1.2 创建数据库 命令: Create database 数据库名 ...
- php : mysql数据库操作类演示
设计目标: 1,该类一实例化,就可以自动连接上mysql数据库: 2,该类可以单独去设定要使用的连接编码(set names XXX) 3,该类可以单独去设定要使用的数据库(use XXX): 4,可 ...
- php MySQL数据库操作类源代码
php MySQL数据库操作类源代码: <?php class MySQL{ private $host; //服务器地址 private $name; //登录账号 private $pwd; ...
- 设计模式 - 单例模式mysql数据库操作类
待续... index.php 调用方法: <?php header('Content-Type:text/html; charset=utf8'); require 'instance.php ...
- MySQL数据库操作常用命令
MySQL数据库操作常用命令DOS连接数据库1.安装MySQL配置好环境2.运行cmd命令net start mysql3.找到mysql文件根目录输入命令mysql -h localhost -u ...
- Python/MySQL(四、MySQL数据库操作)
Python/MySQL(四.MySQL数据库操作) 一.数据库条件语句: case when id>9 then ture else false 二.三元运算: if(isnull(xx)0, ...
- Java通过JDBC 进行MySQL数据库操作
转自: http://blog.csdn.net/tobetheender/article/details/52772157 Java通过JDBC 进行MySQL数据库操作 原创 2016年10月10 ...
- Vc数据库编程基础MySql数据库的表增删改查数据
Vc数据库编程基础MySql数据库的表增删改查数据 一丶表操作命令 1.查看表中所有数据 select * from 表名 2.为表中所有的字段添加数据 insert into 表名( 字段1,字段2 ...
- Mysql 数据库操作之DDL、DML、DQL语句操作
Mysql 数据库操作之DDL.DML.DQL语句操作 设置数据库用户名密码 l Show databases 查看数据库列表信息 l 查看数据库中的数据表信息 ,格式: use 数据库名: sh ...
随机推荐
- HTML文档结构
下面对HTML文档结构进行一 一解释: 1.文档声明:既不是元素,也不是注释: 代码格式:<! DOCTYPE html> 注:必须写在HTML文档的第一行 原因:告诉浏览器使用哪个版本的 ...
- 将博客搬至CSDN http://blog.csdn.net/yi_xianyong
将博客搬至CSDN http://blog.csdn.net/yi_xianyong
- 检测 web项目 404 500 状态的 页面
用于发版前自动化测试 用法 1.使用参数 -f 指定url配置文件2.url文件简单配置, 每行一条URL 下面三种格式都可以,如果不声明 GET.POST 默认为GET请求 https://www. ...
- Retrofit 实现获取往里圆角图片,且传值到另一个页面
记得加网络权限 java包: // compile 'jp.wasabeef:glide-transformations:3.0.1' implementation 'com.squareup.ret ...
- Python学习宝典,Python400集让你成为从零基础到手写神经网络的Python大神
当您学完Python,你学到了什么? 开发网站! 或者, 基础语法要点.函数.面向对象编程.调试.IO编程.进程与线程.正则表达式... 当你学完Python,你可以干什么? 当程序员! 或者, 手写 ...
- [Swift]LeetCode807. 保持城市天际线 | Max Increase to Keep City Skyline
In a 2 dimensional array grid, each value grid[i][j]represents the height of a building located ther ...
- [Swift]LeetCode981. 基于时间的键值存储 | Time Based Key-Value Store
Create a timebased key-value store class TimeMap, that supports two operations. 1. set(string key, s ...
- MyBatis增、删、改、查
1.config.xml文件的基本配置信息 2.选择数据源 3.mybatis约定 (1)parameterType和resultType 只能传一个参数,但是我们可以传一个数组或者集合,达到传多个参 ...
- JVM基础系列第13讲:JVM参数之追踪类信息
我们都知道 JVM 在启动的时候会去加载类信息,那么我们怎么得知他加载了哪些类,又卸载了哪些类呢?我们这一节就来介绍四个 JVM 参数,使用它们我们就可以清晰地知道 JVM 的类加载信息. 为了方便演 ...
- 上下div高度动态自适应--另类处理方案
这段时间在工作中遇到一个看似较为棘手的问题.问题描述:查询报表页面分为上下两部分,上部分为条件输入区域,下部分为报表展示区域.客户要求做到默认满屏(但要动态适应不同的窗体大小,也就是浏览器窗体用户会手 ...