热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP5与MySQL数据库操作常用代码收集

php最近比较热门,所以学习php的朋友也越来越多,这里整理下数据库的一些操作,需要的朋友可以参考下。

php最近比较热门,所以学习php的朋友也越来越多,这里整理下数据库的一些操作,需要的朋友可以参考下。

1 建立数据库表:
代码如下:
create database club;
create table member(
id int(11) not null auto_increment,
no varchar(5) not null,
name varchar(10) not null,
age int(2) not null,
level varchar(10) not null,
sex tinyint(1) not null,
date datetime not null,
primary key(id)
)engine=MyISAM default charset=GB2312;
insert into member(id,no,name,age,level,sex,date)values
(1,'A001','wanxia',30,'hj',1,'2008-04-02 00:00:00'),
(2,'C022','liyan',29,'zs',1,'2007-05-31 00:00:00'),
(3,'A006','zhangyan',36,'hj',1,'2007-06-20 00:00:00'),
(4,'B052','luanying',42,'bj',1,'2007-02-12 00:00:00'),
(5,'A007','duxiang',26,'hj',2,'2008-03-26 00:00:00'),
(6,'C060','liuyu',38,'zs',1,'2008-10-16 00:00:00');


2 读取数据
2.1 建立01.php
代码
代码如下: $link=mysql_connect("localhost","root","123"); //连接mysql服务器
$db=mysql_select_db("club"); //选择数据库
mysql_query("set names utf8",$link); //设定编码方式
$sql="Select * from member";
$result=mysql_query($sql,$link); //执行select查询
$num=mysql_num_rows($result); //获取记录查询
?>

健身俱乐部 会员名册




点击姓名可查看该会员详细资料,现有会员人。


if($num>0)
{
?>






while($row=mysql_fetch_array($result))
{
echo "";
}
?>
序号 姓名 性别
".$row['id'].".$row['name'].">".$row['name'].""
.($row['sex']==1?"女":"男")."

}
else
{
echo "俱乐部尚未发展会员。";
}
?> 2.2 建立member.php
代码如下: $link=mysql_connect("localhost","root","123"); //连接mysql服务器
$db=mysql_select_db("club"); //选择数据库
mysql_query("set names utf8",$link); //设定编码方式
$sql="select no,name,sex,age,level,date_format(date,'%Y-%c-%d') as join_date from member "
."where name='".trim($_GET['name'])."'";
$result=mysql_query($sql,$link); //执行在select查询
?>

健身俱乐部 会员详细资料


if($row=mysql_fetch_array($result))
{
echo "编号:".$row['no']."
";
echo "姓名:".$row['name']."
";
echo "性别:".($row['sex']==1?"女":"男")."
";
echo "年龄:".$row['age']."
";
echo "级别:".$row['level']."
";
echo "加入:".$row['join_date']."
";
}
?>


3 修改数据
3.1 建立level.php(修改数据)
代码如下:

俱乐部会员统计表


$link=mysql_connect("localhost","root","123"); //连接mysql服务器
$db=mysql_select_db("club"); //选择数据库
mysql_query("set name utf8",$link); //设定编码方式
$sql="Select level,count(*) as num from member group by level";
$result=mysql_query($sql,$link); //执行select查询
while($row=mysql_fetch_array($result))
{
switch($row['level']){
case 'bj':
echo "等级:白金会员 人数:".$row['num']."
";
break;
case 'hj':
echo "等级:黄金会员 人数:".$row['num']."
";
break;
default:
echo "等级:钻石会员 人数:".$row['num']."
";
}
}
?> 会员优惠升级:从

升级至


3.2 建立up_level.php
代码如下:
$link=mysql_connect("localhost","root","123"); //连接mysql服务器
$db=mysql_select_db("club"); //选择数据库
mysql_query("set name utf8",$link); //设定编码方式
$sql="update member set level='".trim($_POST['new_level'])
."' where level='".trim($_POST['old_level'])."'";
$result=mysql_query($sql,$link); //执行select查询
echo mysql_affected_rows($link)."人 从";
switch(trim($_POST['old_level'])){
case 'bj':
echo " 白金会员 " ;
break;
case 'hj':
echo " 黄金会员 ";
break;
default:
echo " 钻石会员 ";
}
echo "成功升级到";
switch(trim($_POST['new_level'])){
case 'bj':
echo " 白金会员 " ;
break;
case 'hj':
echo " 黄金会员 ";
break;
default:
echo " 钻石会员 ";
}
?>



4 添加数据
4.1 建立add_member.php
代码如下:

新加入会员

编号:

姓名:

性别:



年龄:

级别:



4.2 建立newmember.php
代码如下:
$link=mysql_connect("localhost","root","123"); //连接mysql服务器
$db=mysql_select_db("club"); //选择数据库
mysql_query("set names GB2312",$link); //设定编码方式
$sql="Insert member(no,name,sex,age,level,date) values('"
.trim($_POST['no'])."','".trim($_POST['name'])."','"
.trim($_POST['sex'])."','".trim($_POST['age'])."','"
.trim($_POST['level'])."',now())";
$result=mysql_query($sql,$link); //执行select查询
$m_id=mysql_insert_id($link); //得到新插入会员记录的id
if(trim($_POST['level'])=="hj") //判断新会员优惠
{
$sql="Update member set level='bj' where id='".$m_id."'";
$result=mysql_query($sql,$link); //执行会员升级优惠
$text="已享受优惠升级至白金会员。";
}
$sql="Select *,date_format(date,'%Y-%c-%d') as join_date from member "
."where id='".$m_id."'";
$result=mysql_query($sql,$link); //执行select查询
if($row=mysql_fetch_array($result))
{
echo "新会员资料:
";
echo "编号:".$row['no']."
";
echo "姓名:".$row['name']."
";
echo "性别:".($row['sex']==1?"女":"男"."
");
echo "年龄:".$row['age']."
";
echo "级别:".$row['level']."
";
echo "加入:".$row['join_date']."
";
}
echo "新会员".$row['name']."添加成功".$text;
?>


5 创建类数据库连接
5.1 建立cls_mysql.php类文件
代码如下:
class cls_mysql
{
protected $link_id;
function __construct($dbhost,$dbuser,$dbpw,$dbname='',$charset='GB2312')
{
if(!($this->link_id=mysql_connect($dbhost,$dbuser,$dbpw)))
{
$this->ErrorMsg("Can't pConnect MySQL Server($dbhost)!");
}
mysql_query("SET NAMES ".$charset,$this->link_id);
if($dbname)
{
if(mysql_select_db($dbname,$this->link_id)===false)
{
$this->ErrorMsg("Can't slect MYSQL database($dbname)!");
return false;
}
else
{
return true;
}
}
}
public function select_database($dbname)
{
return mysql_select_db($dbname,$this->link_id);
}
public function fetch_array($query,$result_type=MYSQL_ASSOC)
{
return mysql_fetch_array($query,$result_type);
}
public function query($sql)
{
return mysql_query($sql,$this->link_id);
}
public function affected_rows()
{
return mysql_affected_rows($this->link_id);
}
public function num_rows($query)
{
return mysql_num_rows($query);
}
public function insert_id()
{
return_insert_id($this->link_id);
}
public function selectLimit($sql,$num,$start=0)
{
if($start==0)
{
$sql.=' LIMIT '.$num;
}
else
{
$sql.=' LIMIT '.$start.', '.$num;
}
return $this->query($sql);
}
public function getOne($sql,$limited=false)
{
if($limited=true)
{
$sql=trim($sql.' LIMIT 1');
}
$res=$this->query($sql);
if($res!=false)
{
$row=mysql_fetch_row($res);
return $row[0];
}
else
{
return false;
}
}
public function getAll($sql)
{
$res=$this->query($sql);
if($res!==false)
{
$arr=array();
while($row=mysql_fetch_assoc($res))
{
$arr[]=$row;
}
return $arr;
}
else
{
return false;
}
}
function ErrorMsg($message='',$sql='')
{
if($message)
{
echo " error info:$message\n\n";
}
else
{
echo "MySQL server error report:";
print_r($this->error_message);
}
exit;
}
}
?> 5.2 建立test.php
代码如下:
include("cls_mysql.php");
?>
$sql="Select * from member";
$db=new cls_mysql('localhost','root','123','club','GB2312');
$result=$db->selectLimit($sql,'3'); //从数据库中返回3个会员资料
if($result)
{
while($row=$db->fetch_array($result))
{
echo "会员编号: " .$row['no'].",姓名:".$row['name']."
";
}
}
?>


6 总结
6.1 mysql_connect():建立与MySQL服务器的连接
6.2 mysql_select_db():选择数据库
6.3 mysql_query():执行数据库查询
6.4 mysql_fetch_array():获取数据库记录
6.5 mysql_num_rows():获取查询得到的记录数
6.6 mysql_affected_rows():最近一次操作影响到的行数
6.7 mysql_insert_id():最近一次插入记录的ID值

推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了如何在MySQL中将零值替换为先前的非零值的方法,包括使用内联查询和更新查询。同时还提供了选择正确值的方法。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
author-avatar
张。、
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有