mysql扩展库操作mysql数据库
- 环境搭建
启用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数据库的更多相关文章
- php笔记08:数据库编程---使用php的MySQL扩展库操作MySQL数据库
1.使用php的MySQL扩展库操作MySQL数据库: php有3种方式操作MySQL数据库 (1)mysql扩展库 (2)mysqli扩展库 (3)pdo mysql扩展库与mysql数据库 ...
- PHP mysql 扩展库 操作mysql数据库步骤
一.mysql 扩展库操作mysql数据库步骤如下: 1.获取连接 2.选择数据库 3.设置操作编码 4.发送指令(ddl数据定义/dml数据操作/dql数据查询/dtl数据事务控制) 5.接收返回的 ...
- mysqli扩展库操作mysql数据库
配置环境 配置php.ini文件让php支持mysqli扩展库 extension=php_mysqli.dll 建库建表 详见博客 “mysql扩展库操作mysql数据库” 查询数据库 <?p ...
- 使用php的mysqli扩展库操作mysql数据库
简单介绍mysqli: 1.mysqli(mysql improve mysql扩展库的增强版) mysql扩展库和mysqli扩展库的区别 1.mysqli的稳定性 安全性 和 执行效率有所提高 ...
- php使用mysql扩展库链接mysql数据库(查询)
php链接数据库可以使用mysql扩展库,mysqli,pdo这几种方式,相比java而言要麻烦一点,因为它不像java那么统一.从代码的难易程度来说php的确要简单许多.步骤大体如下 1.打开数据库 ...
- 通过表名显示数据库中该表的表头和内容(mysql扩展库操作)
编写一个函数,接收一个表名,然后把表的表头和内容显示在网页 <?php function readTab($tableName){ $conn=mysql_connect("local ...
- 在线小词典(mysql扩展库操作)
输入英文查询中文 1.建表 create table words( id int primary key auto_increment, enWords varchar(32) not null, c ...
- php数据库编程---mysql扩展库
1, Java有一种方式操作数据库, PHP有三种方式来操作mysql数据库.(1)mysql扩展库:(2)mysqli扩展库:(3)pdo: 2, mysql扩展库和mysql数据库区别 3, my ...
- mysql扩展库-1
启用mysql扩展库 在php.ini文件中去配置mysql扩展库 extension=php_mysql.dll 可以通过 phpinfo() 查看当前php支持什么扩展库. 在sql扩展库中创建一 ...
随机推荐
- PowerDesigner实用技巧小结(2)
PowerDesigner实用技巧小结 1.ORACLE数据库建模时,由于ORACLE的表名.字段名如果是小写会有一定的麻烦,需要将小写转化为大写? (1)在打开pdm的情况下,进入Tools-Mod ...
- 远程使用Gpupdate(Hash,哈希)
function Start-GPUpdate { param ( [String[]] $ComputerName ) $code ...
- zTree实现地市县三级级联DAO接口实现
zTree实现地市县三级级联DAO接口实现 ProvinceDaoImpl.java: /** * @Title:ProvinceDaoImpl.java * @Package:com.gwtjs.d ...
- [HTTP] Origins, CROS, Preflight
Origins made up of three parts the data scheme, the hostname and the prot. It is important to know t ...
- Java NIO与IO的差别和比較
导读 J2SE1.4以上版本号中公布了全新的I/O类库.本文将通过一些实例来简介NIO库提供的一些新特性:非堵塞I/O,字符转换,缓冲以及通道. 一. 介绍NIO NIO包(java.nio.*)引入 ...
- MySQL B+树索引和哈希索引的区别
导读 在MySQL里常用的索引数据结构有B+树索引和哈希索引两种,我们来看下这两种索引数据结构的区别及其不同的应用建议. 二者区别 备注:先说下,在MySQL文档里,实际上是把B+树索引写成了BT ...
- 文件和目录之mkdir和rmdir函数
用mkdir函数创建目录,用rmdir函数删除目录. #include <sys/stat.h> int mkdir( const char *pathname, mode_t mode ...
- INSERT DELAYED 句法
INSERT 语句的 DELAYED 选项是一个 MySQL 特有的选项,如果你的客户端不能等待 INSERT 的完成,这将会是很有用的.This is a common problem when y ...
- 制作一个类似苹果VFL的格式化语言来描述UIStackView
在项目中总是希望页面上各处的文字,颜色,字体大小甚至各个视图控件布局都能够在发版之后能够修改以弥补一些前期考虑不周,或者根据统计数据能够随时进行调整,当然是各个版本都能够统一变化.看到这样的要求后,第 ...
- hdu1250(Java)大数相加的问题
Hat's Fibonacci Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...