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. Linux实战教学笔记35:企业级监控Nagios实践(下)

    七,服务器端Nagios图形监控显示和管理 前面搭建的Nagios服务虽然能显示信息,能报警.但是在企业工作中还会需要一个历史趋势图,跟踪每一个业务的长期趋势,并且能以图形的方式展示,例如:根据磁盘的 ...

  2. 在zookeeper集群的基础上,搭建伪solrCloud集群

    伪集群的搭建:将solrCloud搭建到同一台机器上. 准备工作 1 将在window中部署的单机版solr上传到服务器(虚拟机)中 solr的简单部署:在tomcat中启动slor 的内容 这一次放 ...

  3. CSS的编写规范

    一.前言 如上图,页面在渲染和画图时,耗时还是比较多的,这就对我们的编写要求愈加严格. 我们有很多方法来减少上图所示的页面加载耗时的,比如 但是更多的还是在于平时的编写规范,我们需要了解浏览器,让他更 ...

  4. 开发微信小程序入门教程,含破解工具

    2016年09月21日晚 微信发不了微信“小程序”的内测版,一时间整个互联网都炸了锅.个大新闻.论坛都在讨论这个事情. 作为互联网的一猿,我们怎能不紧跟时代的脚步.于是第二天上午也对微信发布的“小程序 ...

  5. 257. Binary Tree Paths返回所有深度优先的遍历

    [抄题]: Given a binary tree, return all root-to-leaf paths. For example, given the following binary tr ...

  6. SpringBoot 集成Mybatis时 使用通用插件Mapper 注意事项

    1.如果在SpringBoot的启动入口类上面加入注解 @MapperScan(basePackages = "com.leecx.mapper")      使用的是   org ...

  7. AM使用指南:如何在Managed Bean中获取AM实例?

    AM是放置服务方法的地方,有时我们需要在Managed Bean中调用这些方法.要调用这些方法,首先要在Managed Bean中获取AM实例.这里要用到<ADF工具类:ADFUtil.java ...

  8. 面向对象的JavaScript-001

    一. Question是父类,MultipleChoiceQuestion和DragDropQuestion是子类 二. 1. <script> // 面向对象 function Ques ...

  9. Java研发书单

    Java研发书单 计算机基础:<深入理解计算机系统><计算机网络> 网络方面:<TCP/IP协议卷一><unix网络编程卷一>(部分章节,JAVA主要是 ...

  10. 粗略了解fill与fill_n

    以前只知道数组赋值时用memset(): 而这几天却了解到了一个函数:fill(); 感觉以后会有用吧... std::fill template <class ForwardIterator, ...