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

php 数据库 编程,php数据库编程(mysql mysqli pdo)相关推荐

  1. MYSQL MYSQLI PDO

    PHP的MySQL扩展(优缺点) 设计开发允许PHP应用与MySQL数据库交互的早期扩展.mysql扩展提供了一个面向过程 的接口: 并且是针对MySQL4.1.3或更早版本设计的.因此,这个扩展虽然 ...

  2. 安卓开发mysql数据库_Android编程之数据库的创建方法详解

    本文实例讲述了Android编程之数据库的创建方法.分享给大家供大家参考,具体如下: 主java package com.itheima.createdatabase; import android. ...

  3. JSP危险化学品管理系统myeclipse开发mysql数据库bs框架java编程jdbc详细设计

    一.源码特点      JSP危险化学品管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8. ...

  4. JSP房地产门户管理系统myeclipse开发mysql数据库BS模式java编程网页结构详细设计

    一.源码特点      JSP 房地产门户管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8 ...

  5. JSP水电费管理系统myeclipse开发mysql数据库web结构java编程

    一.源码特点   JSP水电费管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发. 下载地址: JSP水电费管理系 ...

  6. JSP酒店管理系统myeclipse开发mysql数据库bs框架java编程jdbc详细设计

    一.源码特点      JSP 酒店管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5开 ...

  7. JSP教师辅助办公软件教学进程管理系统yeclipse开发mysql数据库bs框架java编程jdbc详细设计

    一.源码特点      JSP 教师辅助办公软件教学进程管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Mye ...

  8. JSP实习实训管理系统myeclipse开发mysql数据库WEB结构java编程

    一.源码特点   JSP 实习实训管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发. JSP实习实训管理系统my ...

  9. JSP餐饮连锁店管理系统myeclipse开发mysql数据库BS模式java编程网页结构详细设计

    一.源码特点      JSP餐饮连锁店管理系统 是一套完善的web设计系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据 ...

  10. JSP电子商务试点网站myeclipse开发mysql数据库BS模式java编程网页结构详细设计

    一.源码特点      JSP电子商务试点网站是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5 ...

最新文章

  1. c# timer 销毁_如果表单应用程序关闭C#,如何防止发生Timer Elapsed事件
  2. 【新技术】CentOS系统下docker的安装配置及使用详解
  3. 解决虚拟机linux端mysql数据库无法远程访问
  4. [Swift]LeetCode1013. 将数组分成和相等的三个部分 | Partition Array Into Three Parts With Equal Sum...
  5. 11、mybatis的功能架构分析
  6. C语言 pthread_join
  7. VALSE学习(十六): Visual Question Generation and Answering-视觉问题生成和视觉问题
  8. [转]虚方法(virtual)和抽象方法(abstract)的区别
  9. C# 图片转换为base64
  10. VM下安装ubuntu教程
  11. 刷新网页定位到特定位置
  12. 网络信息安全 一场没有硝烟的战争
  13. 计算机机房年度重点工作,信息中心计算机的机房建设要求最新.doc
  14. Windows10 安装Oracle 11g 的配置详解(1)
  15. 云帆文档易用性功能设计之文档查阅
  16. JAVA在线观看视频教程完整版
  17. WSO2 ESB 学习(二) ---安装篇
  18. 大数据开发工程师需要具备哪些技能?
  19. Electron+Vue3+Vite+Element-Plus,保持软后台全速运行(解决循环过多导致的界面不刷新问题,保证窗口失去焦点后setTimeOut可用)
  20. kakaotalk登录显示无法连接服务器,KAKAOTALK登不上到底是什么问题?K – 手机爱问...

热门文章

  1. 百度地图聚合找房开发
  2. 核心期刊为什么难发?
  3. Linux复制文件到某路径并重命名
  4. raft算法 java_raft-java首页、文档和下载 - 分布式一致性算法 Raft 的 Java 实现 - OSCHINA - 中文开源技术交流社区...
  5. 做scratch游戏心得1
  6. python单例模式有什么用_python单例模式是什么
  7. 优酷kux视频文件转换成mp4格式
  8. 【安全牛学习笔记】离线密码破解
  9. Tomcat中的四大servlet容器及管道机制
  10. Unity 无法识别视频