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扩展库的更多相关文章

  1. php数据库编程---mysqli扩展库

    1,mysqli扩展库允许我们访问MySQL数据库,并对MySql数据库进行curd操作.Mysqli扩展库比mysql扩展库加强了. 2,mysqli扩展库和mysql扩展库的比较 (1) mysq ...

  2. php使用mysql扩展库链接mysql数据库(查询)

    php链接数据库可以使用mysql扩展库,mysqli,pdo这几种方式,相比java而言要麻烦一点,因为它不像java那么统一.从代码的难易程度来说php的确要简单许多.步骤大体如下 1.打开数据库 ...

  3. php笔记08:数据库编程---使用php的MySQL扩展库操作MySQL数据库

    1.使用php的MySQL扩展库操作MySQL数据库: php有3种方式操作MySQL数据库 (1)mysql扩展库 (2)mysqli扩展库 (3)pdo     mysql扩展库与mysql数据库 ...

  4. mysql扩展库操作mysql数据库

    环境搭建 启用mysql扩展库,在php.ini文件中去配置mysql扩展库 extension=php_mysql.dll 查询数据库 1.建库建表 //建库testcreate database ...

  5. PHP mysql 扩展库 操作mysql数据库步骤

    一.mysql 扩展库操作mysql数据库步骤如下: 1.获取连接 2.选择数据库 3.设置操作编码 4.发送指令(ddl数据定义/dml数据操作/dql数据查询/dtl数据事务控制) 5.接收返回的 ...

  6. PHP基础Mysql扩展库

    mysql扩展库操作步骤如下: 1.连接数据库 2.选择数据库 3.设置操作编码 4.发送指令sql,并返回结果集     ddl:数据定义语句     dml:数据操作语句     dql:数据查询 ...

  7. mysql扩展库-1

    启用mysql扩展库 在php.ini文件中去配置mysql扩展库 extension=php_mysql.dll 可以通过 phpinfo() 查看当前php支持什么扩展库. 在sql扩展库中创建一 ...

  8. 【小结】有关mysql扩展库和mysqli扩展库的crud操作封装

    现阶段php如果要操作mysql数据库 php给我们提供了3套库 1.mysql扩展库   面向过程操作 2.mysqli扩展库  面向对象操作和面向过程操作并存  安全性和效率高于mysql扩展库 ...

  9. mysql扩展库应用---在线词典程序范例

    1,在mysql中创建数据表words. create table words( id int primary key not null auto_increment, enword varchar( ...

随机推荐

  1. Fresnel Reflection Shader

    [Fresnel Reflection] One of the most used types of reflections is the Fresnel reflection. One of the ...

  2. python's descriptor

    [python's descriptor] 1.实现了以下三个方法任意一个的,且作为成员变量存在的对象,就是descriptor. 1)object.__get__(self, instance, o ...

  3. SQLSERVER2012误删数据恢复过程

    由于长时间从事企业应用系统开发,前往用户现场升级.调试系统是比较常做的事情,但是就在周一,由于同事的失误在毫无知觉的情况下误删了生产数据库几乎所有的数据.当我发现的那一刻,感觉头发都立起来了,心想这他 ...

  4. 阿里云 mysql 远程登录权限

    [mysql中配置] 授权法: 1.登录到mysql中,为root进行远程访问的授权,执行下面的命令:  mysql> GRANT ALL PRIVILEGES ON *.* TO root@& ...

  5. TCP端口状态说明ESTABLISHED、TIME_WAIT、 CLOSE_WAIT

    一. 首先说下tcp端口的几种状态: 1.LISTENING状态 FTP服务启动后首先处于侦听(LISTENING)状态. 2.ESTABLISHED状态 ESTABLISHED的意思是建立连接.表示 ...

  6. WWW缓存方式

    缓存方式 使用WWW.LoadFromCacheOrDownload接口.AssetBundles将保存在本地设备的Unity的缓存文件夹中.WebPlayer 有50MB的缓存上限,PC/Mac/A ...

  7. CloudStack 脚本封装分析

    cloud.keystore是这样生成的 String dname = "cn=\"" + cn + "\",ou=\"" + o ...

  8. 二、SQL的生命周期

    MySQL的sql语句由客户端发出,经过连接和权限验证后,最终达到服务器端,由服务器分配thread线程处理,之后就是要介绍的具体服务器端的thread线程是怎么处理每条sql语句的.[ 了解thre ...

  9. Tomcat内存溢出及大小调整

    一.在使用Java程序从数据库中查询大量的数据或是应用服务器(如tomcat.jboss,weblogic)加载jar包时会出现java.lang.OutOfMemoryError异常.这主要是由于应 ...

  10. Zedboard学习(四):PS+PL搭建SoC最小系统 标签: fpgazedboardxilinxsoczynq 2017-07-07 15:58 7人阅读

    zynq最核心的设计理念就是软件加硬件,即PS+PL.通过软硬件协同设计,结合了FPGA与双arm9内核,对于嵌入式拥有极大的优势. SoC:System on Chip的缩写,称为芯片级系统,也有称 ...