php数据库编程---mysql扩展库
1, Java有一种方式操作数据库, PHP有三种方式来操作mysql数据库。(1)mysql扩展库;(2)mysqli扩展库;(3)pdo;
2, mysql扩展库和mysql数据库区别

3, mysql数据库的三层结构示意图

4, mysql扩展库是一堆函数,是PHP设计者提供给程序员用于完成对mysql数据库的各种操作(CRUD)。使用php的mysql扩展库完成对mysql操作的案例:编写一个程序,这个程序从user1表中读取数据,并打印在网页中。
(1)环境搭建
①启用mysql扩展库,在php.ini文件中配置mysql扩展库,extension=php_mysql.dll。可以通过<?php phpinfo(); ?>查看当前php支持什么扩展库。
② 创建一张用户表,表中插入数据,供程序使用。
(2)编写php程序,完成对用户表的显示。
//mysql扩展库操作mysql数据库步骤如下
//1.获取连接
$conn = mysql_connect("127.0.0.1","root","123456");
if(!$conn){
die("连接失败".mysql_error());
}
//2.选择数据库
mysql_select_db("test",$conn) or die(mysql_error());
//3.设置操作编码(建议有)
mysql_query("set names utf-8");
//4.发送指令sql(ddl数据定义语言,比如创建表,dml数据操作语言,是insert、update、delete,dql数据查询语言,是select,dtl数据事务语句,比如rollback commit..)
$sql = "select * from user1";
$res = mysql_query($sql,$conn);
if(!$res){
echo "操作失败".mysql_error();
}
//5.接收返回的结果,并处理
while($row = mysql_fetch_row($res)){
var_dump($row);
}
//6.释放资源,关闭连接
mysql_free_result($res);
//这句话没有也可以,推荐有这个
mysql_close($conn);
5, 细节
(1)使用完$res结果集后,一定及时的释放资源。
(2)如果没有mysql_close(),系统也会自动关闭。
(3)执行完$res = mysql_query($sql, $conn);,直接关闭连接mysql_close($conn);,对程序没有影响,这是因为$res指向内存中相应资源(数据库数据导入内存),不需要数据库。这和java不一样的。
(4)从$res获取行数据的时候,除了mysql_fetch_row($res),还有三个方法,分别是:
① mysql_fetch_row($res),返回一个索引的数组;
② mysql_fetch_assoc($res),返回一个关联数组;
③ mysql_fetch_array($res),返回索引数组和关联数组(两套);
④ mysql_fetch_object($res),把一行数据,当作一个对象返回
6,对数据库进行增删改时候,流程和查询一样,使用$res = mysql_execute($sql,$conn);,只需改变$sql语句即可。
//mysql扩展库操作mysql数据库步骤如下
//1.获取连接
$conn = mysql_connect("127.0.0.1","root","123456");
if(!$conn){
die("连接失败".mysql_error());
}
//2.选择数据库
mysql_select_db("test",$conn) or die(mysql_error());
//3.设置操作编码(建议有)
mysql_query("set names utf-8");
//4.发送指令sql(ddl数据定义语言,比如创建表,dml数据操作语言,是insert、update、delete,dql数据查询语言,是select,dtl数据事务语句,比如rollback commit..)
$sql = "insert into user1(name,password,email,age) VALUES('小花',md5('123456'),'757433893@qq.com',24)";
//$sql = "update user1 set name= '小兰',password=md5('000000'),email='757433084@qq.com',age=25 where id = 4 ";
//$sql = "delete from user1 where id = 4 ";
$res = mysql_query($sql,$conn);
if(!$res){
echo "操作失败".mysql_error();
}
if(mysql_affected_rows($conn) > 0){
echo "操作成功";
}else{
echo "数据表没有变化";
}
//5.接收返回的结果,并处理
//这句话没有也可以,推荐有这个
mysql_close($conn);
php数据库编程---mysql扩展库的更多相关文章
- php数据库编程---mysqli扩展库
1,mysqli扩展库允许我们访问MySQL数据库,并对MySql数据库进行curd操作.Mysqli扩展库比mysql扩展库加强了. 2,mysqli扩展库和mysql扩展库的比较 (1) mysq ...
- php使用mysql扩展库链接mysql数据库(查询)
php链接数据库可以使用mysql扩展库,mysqli,pdo这几种方式,相比java而言要麻烦一点,因为它不像java那么统一.从代码的难易程度来说php的确要简单许多.步骤大体如下 1.打开数据库 ...
- php笔记08:数据库编程---使用php的MySQL扩展库操作MySQL数据库
1.使用php的MySQL扩展库操作MySQL数据库: php有3种方式操作MySQL数据库 (1)mysql扩展库 (2)mysqli扩展库 (3)pdo mysql扩展库与mysql数据库 ...
- mysql扩展库操作mysql数据库
环境搭建 启用mysql扩展库,在php.ini文件中去配置mysql扩展库 extension=php_mysql.dll 查询数据库 1.建库建表 //建库testcreate database ...
- PHP mysql 扩展库 操作mysql数据库步骤
一.mysql 扩展库操作mysql数据库步骤如下: 1.获取连接 2.选择数据库 3.设置操作编码 4.发送指令(ddl数据定义/dml数据操作/dql数据查询/dtl数据事务控制) 5.接收返回的 ...
- PHP基础Mysql扩展库
mysql扩展库操作步骤如下: 1.连接数据库 2.选择数据库 3.设置操作编码 4.发送指令sql,并返回结果集 ddl:数据定义语句 dml:数据操作语句 dql:数据查询 ...
- mysql扩展库-1
启用mysql扩展库 在php.ini文件中去配置mysql扩展库 extension=php_mysql.dll 可以通过 phpinfo() 查看当前php支持什么扩展库. 在sql扩展库中创建一 ...
- 【小结】有关mysql扩展库和mysqli扩展库的crud操作封装
现阶段php如果要操作mysql数据库 php给我们提供了3套库 1.mysql扩展库 面向过程操作 2.mysqli扩展库 面向对象操作和面向过程操作并存 安全性和效率高于mysql扩展库 ...
- mysql扩展库应用---在线词典程序范例
1,在mysql中创建数据表words. create table words( id int primary key not null auto_increment, enword varchar( ...
随机推荐
- kubernetes ServiceAccount
api server 启动参数增加 –admission_control=…,ServiceAccount,…
- div垂直居中的N种方法 单行/多行文字(未知高度/固定高度)
说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的 CSSHack技术就可以啊!所以在这里我还要啰嗦两句,CSS中的 ...
- 【hdu4135】【hdu2841】【hdu1695】一类通过容斥定理求区间互质的方法
[HDU4135]Co-prime 题意 给出三个整数N,A,B.问在区间[A,B]内,与N互质的数的个数.其中N<=10^9,A,B<=10^15. 分析 容斥定理的模板题.可以通过容斥 ...
- Composer切换到Laravel-China 镜像
全局 composer config -g repo.packagist composer https://packagist.laravel-china.org 该项目 composer confi ...
- JAVA 定时器的三种方法
/** * 普通thread * 这是最常见的,创建一个thread,然后让它在while循环里一直运行着, * 通过sleep方法来达到定时任务的效果.这样可以快速简单的实现,代码如下: * @au ...
- android-tip-SocketException之ETIMEDOUT
异常出现时间 如果我们有一个长连接,此时网络被关闭,或者暂时失去信号, 此时就会出现此异常. 如果出现此异常,则不得不重连.
- 关于BigDecimal小记
昨天在写一个关于金额计算的时候,随手用了BIgDecimal结果出问题了,如下图NO.3那样,期望值是10.00,结果是10.1... 后来发现犯了一个想当然的错误,那就是两个参数的构造方法是这样的, ...
- windows编程之内核对象
学好windows编程,理解内核对象还是至关重要的(●'◡'●).闲话不多说,下面先来了解一下关于内核对象的知识: 内核对象(kernel object):内核对象是用于管理进 ...
- Python 序列与映射的解包操作-乾颐堂
解包就是把序列或映射中每个元素单独提取出来,序列解包的一种简单用法就是把首个或前几个元素与后面几个元素分别提取出来,例如: first, seconde, *rest = sequence 如果seq ...
- 迁移ORACLE数据库文件到ASM
迁移数据文件到ASM 数据库一致性情况下迁移:将数据库启动到mount状态,生成rman copy 语句,然后在rman中执行: SQL> startup mount SQL> selec ...