zoukankan      html  css  js  c++  java
  • PHP5与MySQL数据库操作

     1 建立数据库表:

    代码
    create database club;
    create table member(
    id 
    int(11not null auto_increment,
    no 
    varchar(5not null,
    name 
    varchar(10not null,
    age 
    int(2not null,
    level varchar(10not null,
    sex 
    tinyint(1not 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

    代码
    <html>
    <head>
        
    <meta http-equiv="Content-Type" content="text/html;charset=GB2312"/>
        
    <title>会员列表</title>
    </head>
    <?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);                    //获取记录查询
    ?>

    <body>
    <h1>健身俱乐部 会员名册</h1>
    <br />
    点击姓名可查看该会员详细资料,现有会员
    <?php  echo $num ?>人。
    <br />

    <?php 
    if($num>0)
    {
    ?>
        
    <table border="1" cellpadding="1" cellspacing="1">
        
    <tr>
        
    <td>序号</td>
        
    <td>姓名</td>
        
    <td>性别</td>
        
    </tr>
        
    <?php 
            
    while($row=mysql_fetch_array($result))
            {
                
    echo "<tr><td>".$row['id']."</td><td><a href=member.php?name="
                
    .$row['name'].">".$row['name']."</a></td><td>"
                
    .($row['sex']==1?"":"")."</td></tr>";
            }
        
    ?>
        
    </table>
    <?php 
    }
    else
    {
        
    echo "俱乐部尚未发展会员。";
    }
    ?>
    </body>
    </html>

     2.2 建立member.php

    代码
    <html>
    <head>
        
    <meta http-equiv="Content-Type" content="text/html;charset=GB2312"/>
        
    <title>会员详细资料</title>
    </head>
    <?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查询
    ?>
    <body>
    <h1>健身俱乐部 会员详细资料</h1>
    <?php 
    if($row=mysql_fetch_array($result))
    {
        
    echo "编号:".$row['no']."<br />";
        
    echo "姓名:".$row['name']."<br />";
        
    echo "性别:".($row['sex']==1?"":"")."<br />";
        
    echo "年龄:".$row['age']."<br />";
        
    echo "级别:".$row['level']."<br />";
        
    echo "加入:".$row['join_date']."<br />";
    }
    ?>
    </body>
    </html>

     3 修改数据

     3.1 建立level.php(修改数据)

    代码
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=GB2312" />
    <title>俱乐部优惠活动</title>
    </head>
    <body>
    <h1>俱乐部会员统计表</h1>
    <?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 "等级:白金会员 &nbsp;&nbsp;&nbsp;&nbsp;人数:".$row['num']."<br />";    
            
    break;    
        
    case 'hj':
            
    echo "等级:黄金会员 &nbsp;&nbsp;&nbsp;&nbsp;人数:".$row['num']."<br />";    
            
    break;
        
    default:
            
    echo "等级:钻石会员 &nbsp;&nbsp;&nbsp;&nbsp;人数:".$row['num']."<br />";    
        }
    }
    ?>
    <form action="up_level.php" name="level" method="post">
    会员优惠升级:从
    <select name="old_level">
    <option value="hj">黄金会员</option>
    <option value="bj">白金会员</option>
    </select>
    升级至
    <select name="new_level">
    <option value="bj">白金会员</option>
    <option value="zs">钻石会员</option>
    </select>
    <input type="submit" value="确定"/>
    </form>
    </body>
    </html>

     3.2 建立up_level.php

    代码
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=GB2312" />
    <title>俱乐部优惠活动</title>
    </head>
    <body>
    <?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 " 钻石会员  ";    
        }
    ?>
    </body>
    </html>

     

     4 添加数据

     4.1 建立add_member.php

    代码
    <html>
    <meta http-equiv="Content-Type" content="text/html;charset=GB2312"/>
    <title>新增会员</title>
    <body>
    <h1>新加入会员</h1>
    <form action="newmember.php" method="post" name="add_member">
        编号:
    <input type="text" name="no" width="40"/><br />
        姓名:
    <input type="text" name="name" width="40"/><br />
        性别:
        
    <input type="radio" name="sex" value="1" />
        
    <input type="radio" name="sex" value="2" /><br />
        年龄:
    <input type="text" name="age" width="40" /><br />
        级别:
        
    <select name="level">
        
    <option value="hj">黄金会员</option>
        
    <option value="bj">白金会员</option>
        
    <option value="zs">钻石会员</option>
        
    </select><br />
        
    <input type="submit" value="确定" />
    </form>
    </body>
    </html>

     4.2 建立newmember.php

    代码
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=GB2312" />
    <title>添加会员</title>
    </head>
    <body>
    <?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 "新会员资料:<br />";
        
    echo "编号:".$row['no']."<br />";
        
    echo "姓名:".$row['name']."<br />";
        
    echo "性别:".($row['sex']==1?"":""."<br />");
        
    echo "年龄:".$row['age']."<br />";
        
    echo "级别:".$row['level']."<br />";
        
    echo "加入:".$row['join_date']."<br />";
    }
    echo "新会员".$row['name']."添加成功".$text;
    ?>
    </body>
    </html>

     

     

     5 创建类数据库连接

     5.1 建立cls_mysql.php类文件

    代码
    <?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 "<b> error info</b>:$message\n\n";
            }
            
    else
            {
                
    echo "<b>MySQL server error report:";
                
    print_r($this->error_message);
            }
            
    exit;
        }
        
    }
    ?>

     5.2 建立test.php

    代码
    <?php 
    include("cls_mysql.php");
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=GB2312" />
    <title>Mysql类库测试</title>
    </head>
    <body>
    <?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']."<br />";
        }
    }
    ?>
    </body>
    </html>

     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值

  • 相关阅读:
    Word批量转PDF或者图片
    sqlite3数据c/c++接口编程<linux,window>
    静态库和动态库
    QT信号和槽
    C程序编译过程
    Volatile关键字
    端口复用setsockopt
    深入理解epoll(转载)
    临时变量
    json学习随笔
  • 原文地址:https://www.cnblogs.com/yongfeng/p/1689644.html
Copyright © 2011-2022 走看看