php 数据库 编程,php数据库编程(mysql mysqli pdo)

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")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值