• 环境搭建

启用mysql扩展库,在php.ini文件中去配置mysql扩展库

extension=php_mysql.dll

  • 查询数据库

1、建库建表

//建库test
create database test;
//用库test
use test;
//建表user1
create table user1(
id int primary key auto_increment,
name varchar(32) not null,
password varchar(64) not null,
age tinyint unsigned not null,
birthday date not null
);
//增加数据
insert into user1 (name,password,age,birthday) values ('lm',md5('lm'),25,'1991-01-02');
insert into user1 (name,password,age,birthday) values ('lxz',md5('lxz'),25,'1991-02-03');
insert into user1 (name,password,age,birthday) values ('wy',md5('wy'),25,'1991-03-04');

2、查询数据库

 <?php
//连接数据库
$conn=mysql_connect('localhost','root','root');
//如果连接失败,报错
if(!$conn){
die("连接数据库失败".mysql_error());
}
//选择数据库
mysql_select_db('test');
//设置操作编码
mysql_query('set names utf8',$conn);
//sql语句,实现查询操作
$sql="select * from user1";
//执行sql语句
$res=mysql_query($sql,$conn);
//对结果处理
while($row=mysql_fetch_row($res)){
echo $row[0]."--".$row[1]."--".$row[2]."--".$row[3]."<br/>";
//var_dump($row);
}
//释放资源,关闭数据库
mysql_free_result($res);
mysql_close($conn);
?>

结果如下:

问题:查询不到第一行?

3、下面介绍四个结果处理函数的区别

mysql_fetch_row($res)  返回索引数组,如下:

mysql_fetch_assoc($res)  返回关联数组,如下:

mysql_fetch_array($res)  返回索引数组+关联数组,如下:

mysql_fetch_object($res)  返回对象,如下:

  •  增删改数据库
 <?php
//对数据库增删改操作,dml语句(insert,delete,upgate)
//连接数据库
$conn=mysql_connect('localhost','root','root');
//如果连接失败,报错
if(!$conn){
die("连接数据库失败".mysql_error());
}
//选择数据库
mysql_select_db('test');
//设置字符格式
mysql_query('set names utf8',$conn);
//sql语句,实现增删改操作
$sql="insert into user1 (name,password,age,birthday) values('skl',md5('skl'),25,'1991-04-05')";
//$sql="delete from user1 where name='skl'";
//$sql="update user1 set age=18 where name='skl'";
//执行sql语句
$res=mysql_query($sql,$conn);
//dml语句执行后返回结果为布尔型
if(!$res){
echo "操作失败".mysql_error();
}
if(mysql_affected_rows($conn)>0){
echo "操作成功";
}else{
echo "没有影响到行数";
}
//关闭数据库
mysql_close($conn);
?>
  • 把对数据库的操作封装成类

mysqlTool.class.php

 <?php
class MysqlTool{
private $host="localhost";
private $userName="root";
private $pwd="root";
private $dbName="test";
private $conn;
//连接数据库函数,构造函数(与类同名),实例化后自动调用
public function MysqlTool(){
$this->conn=mysql_connect($this->host,$this->userName,$this->pwd);
if(!$this->conn){
die("连接数据库失败".mysql_error());
}
mysql_select_db($this->dbName,$this->conn);
mysql_query("set names utf8",$this->conn);
}
//dql语句,完成select
public function executeDql($sql){
$res=mysql_query($sql,$this->conn) or die("操作失败".mysql_error());
return $res;
}
//dml语句,完成insert,delete,update
public function executeDml($sql){
$res=mysql_query($sql,$this->conn);
if(!$res){
return 0;//0表示操作失败
}else{
if(mysql_affected_rows($this->conn)>0){
return 1;//1表示操作成功
}else{
return 2;//2表示没有行数影响
}
}
}
//关闭数据库
public function mysqlClo(){
mysql_close($this->conn);
}
}
?>

实例化类完成查询数据库操作:

 <?php
//引入类文件
require_once "mysqlTool.class.php";
//对类实例化
$mysqlTool=new MysqlTool();
//查询数据库
$sql="select * from user1";
$res=$mysqlTool->executeDql($sql);
while($row=mysql_fetch_row($res)){
echo $row[0]."--".$row[1]."--".$row[2]."--".$row[3]."<br/>";
}
mysql_free_result($res);
$mysqlTool->mysqlClo();
?>

实例化类完成增删改数据库操作:

 <?php
//引入类文件
require_once "mysqlTool.class.php";
//对类实例化
$mysqlTool=new MysqlTool();
//增删改数据库
//$sql="insert into user1 (name,password,age,birthday) values ('skl',md5('skl'),25,'1991-04-05')";
//$sql="delete from user1 where name='skl'";
$sql="update user1 set age=18 where name='skl'";
$res=$mysqlTool->executeDml($sql);
if($res==0){
echo "操作失败";
}else if($res==1){
echo "操作成功";
}else if($res==2){
echo "没有行数影响";
}
$mysqlTool->mysqlClo();
?>

mysql扩展库操作mysql数据库的更多相关文章

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

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

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

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

  3. mysqli扩展库操作mysql数据库

    配置环境 配置php.ini文件让php支持mysqli扩展库 extension=php_mysqli.dll 建库建表 详见博客 “mysql扩展库操作mysql数据库” 查询数据库 <?p ...

  4. 使用php的mysqli扩展库操作mysql数据库

    简单介绍mysqli: 1.mysqli(mysql improve mysql扩展库的增强版) mysql扩展库和mysqli扩展库的区别 1.mysqli的稳定性  安全性 和 执行效率有所提高 ...

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

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

  6. 通过表名显示数据库中该表的表头和内容(mysql扩展库操作)

    编写一个函数,接收一个表名,然后把表的表头和内容显示在网页 <?php function readTab($tableName){ $conn=mysql_connect("local ...

  7. 在线小词典(mysql扩展库操作)

    输入英文查询中文 1.建表 create table words( id int primary key auto_increment, enWords varchar(32) not null, c ...

  8. php数据库编程---mysql扩展库

    1, Java有一种方式操作数据库, PHP有三种方式来操作mysql数据库.(1)mysql扩展库:(2)mysqli扩展库:(3)pdo: 2, mysql扩展库和mysql数据库区别 3, my ...

  9. mysql扩展库-1

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

随机推荐

  1. [置顶] Oracle job procedure 存储过程定时任务

    oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. 一.查询系统中的job,可以查询视图 --相关视图 select * from dba_jobs; selec ...

  2. "用wow64exts调试64位任务管理器抓取的32位程序的dump"

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:"用wow64exts调试64位任务管理器抓取的32位程序的dump".

  3. 用Regex类计算一个字符串出现次数是最好方法【转载】

    我的一个朋友问我,怎么在c#或vb.net中,计算一个字符串中查找另一个字符串中出现的次数,他说在网上打了好多方法,我看了一下,有的是用replace的方法去实现,这种方法不是太好,占资源太大了.其实 ...

  4. JSON.NET概述

    1. JSON.NET概述 当JSON逐渐成为Ajax的标准数据交互格式时,在.NET中处理JSON数据只能使用字符串拼接的方法,十分麻烦,因而催生了JSON.NET这个项目. JSON.NET是一个 ...

  5. VS2005配置CPPUnit进行单元測试

    一. 编译CPPUnitproject 1.  解压文件cppunit-1.12.1.tar.gz. 2.  编译$BASE/src/cppunit/CppUnitLibraries.dsw中的cpp ...

  6. 总结swift语言常见的20个问题和回答

    1.假设我是个刚入门的iOS开发人员,选swift学习呢,还是选objective-c学习,还是两个都学? 这个能够依据两种情况来决定:1.我想进入公司担任iOS开发的职位    2.我仅仅想做个独立 ...

  7. JDK的帧--java.util包装工具库

    题词 JDK,Java Development Kit. 首先,我们必须认识到,,JDK但,但设置Java只有基础类库.它是Sun通过基础类库开发,这是唯一的.JDK书写总结的类库.从技术含量来说,还 ...

  8. 编译openjdk源码

    http://www.cnblogs.com/ACFLOOD/p/5528035.html

  9. mysql导出部分(指定)数据库表字段

      需要导出某个表中的部分字段信息 之前导出数据库表一直使用mysqldump命令,例如: mysqldump -hIP -uroot -P3306 -p 库 表 > 名字.sql 但是如果导出 ...

  10. ssi(Server Side Includes)介绍

    Server Side Includes (SSI) is a simple interpreted server-side scripting language used almost exclus ...