php有三种方式来操作mysql数据库

1.mysql扩展库

mysqli扩展库

pdo

mysql扩展库和mysql数据库

mysql扩展库:已经有方法直接操作数据库

mysql数据库:用于存放数据

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

使用php的mysql扩展库完成对mysql操作的案例

编写一个程序,这个程序从userl表中读取数据,并打印在网页中

1.环境搭建

1.1启用mysql扩展库

在php.ini中进行配置

extension=php_mysql.dll;

可以通过

phpinfo()可以查看当前php支持什么扩展库

?>

1.2创建一张用户表(int 有符号 )char (12) 固定的空间varchar(12)可变的空间unsigned无符号的not null表示非空

create table user1(){
id int primary key auto_increment,
name varchar(32)not null;
paddword varchar(64) not null;
email varchar(128) not null;
age tinyint unsigned notnull;
}

模拟数据 名字,密码

insert into user1 (name,paddword,age) values('zs',md5('123'),'zs@sohu.con',30);

show variables like

delete user1 where val=9;

2.编写php程序完成对用户表的显示

mysql扩展库操作mysql数据库的步骤:

//步骤:1获取一个连接(php程序和数据库之间的连接)2.选择数据库3.设置操作编码(建议)4.发送指令sql(ddl数据定义语句,dml数据操作语言update insert delete,dq1(select),dt1数据事务语句rollback commit)5.接收返回的结果并处理6.释放资源,关闭连接

1获取一个连接

$conn=mysql_connect("127.0.0.1","root","root");
if(!$conn){
die("连接失败"。mysql_error())
}

2.选择数据库

mysql_select_db("test");
$sql="select *from user1";
$res=mysql_query($sql,$conn);发送sql语句
//5.接收返回的结果并处理
//mysql_fetch_row($res)返回下一行数据,赋值给$row,$row就是一个数组
while($row=mysql_fetch_row($res)){
echo " $row[0]--$row[1]---$row[2]"--第一种取法
foreach($row as $key=>$val){
echo "--$val";
}第二种取法
echo "";
6.释放资源,关闭连接
mysql_free_result($res);
mydql_close($conn);-----关闭资源,可有可无,可自动关闭
}

查在哪个表select *from url1;show tables

细节:

1.使用完$res结果集后一定要及时释放资源

2.mysql_close()如果没有系统会自动关闭

3.从$res获取行数据的时候,处理mysql_fetch_row($res)还有三个方法

分别是

mysql_fetch_row($res)返回一个索引数组

mysql_fetch_assoc($res)返回一个关联数组,包括id在内

mysql_fetch_array($res)返回索引数组和关联数组(两套)

mysql_fetch_object($res)把一行数据当做一个对象返回

演示对user1表进行增删除 修改的操作

$conn=mysql_connect("localhost","root","root");
if(!$conn){
die("chu cuo l ",mysql_error());
}
mysql_select_db("test",$conn) or die(mysql_erroe());
mysql_query("set names utf8");
$sql="insert into user1 (name,password,email,age) values("xiaoming",md5("123"),"xiaoming@sohu.com",34)
$res=mysql_query($sql,$conn);-------布尔值
if(!$res){
die("操作失败".mysql_error());
}
if(mysql_affected_rows($conn)>0){
echo "操作成功"
}else{
echo "没有影响到行数";
}
mysql_close($conn);
mysqlHelp
class SqlTool{
private $coon;
private $host="localhost";
private $user="root";
private $password="root";
private $db="test";
function SqlTool(){
$this->coon=mysql_connect($this->host,$this->user,$this->password);
if(!$this->conn){
die("连接数据库失败".mysql_error);
}
mysql_select_db($this->db,$this->conn);
mysql_query("set names urf8");
}
完成查询任务
function execute_dql($sql){
$res=mysql_query($sql) or die();
return $res;
}
function execute_dml($sql){
$b=mysql_query($sql,$this->conn);
if(!$b){
return 0;失败
}else{
if(mysql_affected_rows($this->conn)>0){
return 1; "操作成功"
}else{
return 2;"没有影响到行数";
}
}
}
}

使用mysql_query()方法完成数据添加操作

$sql="insert into user( ... ) value (.....)";
$res=mysql_query($sql);
if($res){
echo "失败了".mysql_error();
}
if(mysql_affected_rows($conn)>0){
echo "执行成功";
}else{
echo "没有任何记录改变";
}

使用mysql_query()方法完成数据更新操作,

$sql="update user set name=‘’ where name=''";
$res=mysql_query($sql);
if($res){
echo "失败了".mysql_error();
}
if(mysql_affected_rows($conn)>0){
echo "执行成功";
}else{
echo "没有任何记录改变";
}

使用mysql_query()方法完成数据删除操作,

$sql="delete from user where id=1;
$res=mysql_query($sql);
if($res){
echo "失败了".mysql_error();
}
if(mysql_affected_rows($conn)>0){
echo "执行成功";
}else{
echo "没有任何记录改变";
}

使用mysql_query()方法完成数据查询操作,

$sql="select * from user where id=1;
$res=mysql_query($sql);
while($row=mysql_fetch_assoc($res)){
foreach($row as $colVal){
echo $colVal."||";
}
}

创建一个hsp的 数据库

$sql="create database hsp"

删除数据库

$sql="drop database hsp"

编写一个函数,可以接受一个表名,然后把表的头和记录显示在网页上

mysql_fetch_field从结果中取得列信息并
function show_tab_info($table_name){
$conn=mysql_connect("localhost","root","root");
if(!$conn){
die("连接失败".mysql_error());
}
mysql_select_db("test",$conn);
mysql_query("set names utf8");
$sql="select * from $table_name";
$res=mysql_query($sql,$conn);

一共多少行多少列

$rows=mysql_affected_rows($conn);
$colums=mysql_num_field($res);
echo "$rows=$colums;
echo "
for($i=0;$i
$field_name=mysql_field_name($res,$i);
echo "
$field_name"; 
 
}
echo "
"; 
 
while($row=mysql_fetch_row($res)){
echo "
"; 
 
for($i=0;$i
echo "
$row[$i]"; 
 
}
}
echo "
"; 
 
while($field_info=mysql_fetch_field($res)){
echo "".$field_info->name;
};
var_dump($field_info);
}
show_tab_info("user1")