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")
php 数据库 编程,php数据库编程(mysql mysqli pdo)相关推荐
- MYSQL MYSQLI PDO
PHP的MySQL扩展(优缺点) 设计开发允许PHP应用与MySQL数据库交互的早期扩展.mysql扩展提供了一个面向过程 的接口: 并且是针对MySQL4.1.3或更早版本设计的.因此,这个扩展虽然 ...
- 安卓开发mysql数据库_Android编程之数据库的创建方法详解
本文实例讲述了Android编程之数据库的创建方法.分享给大家供大家参考,具体如下: 主java package com.itheima.createdatabase; import android. ...
- JSP危险化学品管理系统myeclipse开发mysql数据库bs框架java编程jdbc详细设计
一.源码特点 JSP危险化学品管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8. ...
- JSP房地产门户管理系统myeclipse开发mysql数据库BS模式java编程网页结构详细设计
一.源码特点 JSP 房地产门户管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8 ...
- JSP水电费管理系统myeclipse开发mysql数据库web结构java编程
一.源码特点 JSP水电费管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发. 下载地址: JSP水电费管理系 ...
- JSP酒店管理系统myeclipse开发mysql数据库bs框架java编程jdbc详细设计
一.源码特点 JSP 酒店管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5开 ...
- JSP教师辅助办公软件教学进程管理系统yeclipse开发mysql数据库bs框架java编程jdbc详细设计
一.源码特点 JSP 教师辅助办公软件教学进程管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Mye ...
- JSP实习实训管理系统myeclipse开发mysql数据库WEB结构java编程
一.源码特点 JSP 实习实训管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发. JSP实习实训管理系统my ...
- JSP餐饮连锁店管理系统myeclipse开发mysql数据库BS模式java编程网页结构详细设计
一.源码特点 JSP餐饮连锁店管理系统 是一套完善的web设计系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据 ...
- JSP电子商务试点网站myeclipse开发mysql数据库BS模式java编程网页结构详细设计
一.源码特点 JSP电子商务试点网站是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5 ...
最新文章
- c# timer 销毁_如果表单应用程序关闭C#,如何防止发生Timer Elapsed事件
- 【新技术】CentOS系统下docker的安装配置及使用详解
- 解决虚拟机linux端mysql数据库无法远程访问
- [Swift]LeetCode1013. 将数组分成和相等的三个部分 | Partition Array Into Three Parts With Equal Sum...
- 11、mybatis的功能架构分析
- C语言 pthread_join
- VALSE学习(十六): Visual Question Generation and Answering-视觉问题生成和视觉问题
- [转]虚方法(virtual)和抽象方法(abstract)的区别
- C# 图片转换为base64
- VM下安装ubuntu教程
- 刷新网页定位到特定位置
- 网络信息安全 一场没有硝烟的战争
- 计算机机房年度重点工作,信息中心计算机的机房建设要求最新.doc
- Windows10 安装Oracle 11g 的配置详解(1)
- 云帆文档易用性功能设计之文档查阅
- JAVA在线观看视频教程完整版
- WSO2 ESB 学习(二) ---安装篇
- 大数据开发工程师需要具备哪些技能?
- Electron+Vue3+Vite+Element-Plus,保持软后台全速运行(解决循环过多导致的界面不刷新问题,保证窗口失去焦点后setTimeOut可用)
- kakaotalk登录显示无法连接服务器,KAKAOTALK登不上到底是什么问题?K – 手机爱问...