• PHP MySql数据库访问


    PHP MySql数据库访问

    计应134   凌豪

    1.MySql数据库的连接

    要操作MySql数据库,首先必须与MySQl数据库建立连接,连接MySQL服务器的语句如下:

    <?php
    $link = mysql_connect("localhost", "root", "root") or die("不能连接到数据库服务器!

    可能是数据库服务器没有启动,或者用户名密码有误!".mysql_error());   //连接Mysql服务器
    if($link){
    echo "数据源连接成功!";
    }
    ?>

    2.选择MySQL数据库

    在连接到MySQl数据库服务器之后,使用mysql_select_db()函数来选择数据库,其实例代码如下:

    <?php
    $link = mysql_connect("localhost", "root", "root") or die("不能连接到数据库服务器!可能是数据库服务器没有启动,或者用户名密码有误!".mysql_error());   //连接Mysql服务器
    $db_selected=mysql_select_db("db_database18",$link);
    //$db_selected=mysql_query("use db_database18",$link);
    if($db_selected){
    echo "数据库选择成功!";
    }
    ?>

    3.使用mysql_query()函数执行SQL语句

    要对数据库中的表进行操作,通常使用mysql_query()函数执行SQL语句,其基本语法格式如下:

    mysql_query(string query[,resource link_indentifier])

    4.向数据库发送查询

    <?php
        // 实例化mysqli类
        $mysqliConn = new mysqli();
        // 连接服务器,并选择一个数据库
        // 错误的密码
        $mysqliConn->connect('127.0.0.1', 'root', 'root', 'db_test');
        if ($mysqliConn->connect_error)
        {
            printf("Unable to connect to the database:%s", $mysqliConn->connect_error);
            exit();
        }
        // 与数据库交互
        $query = 'select firstname, lastname, email from tb_test;';
        // 发送查询给MySQL
        $result = $mysqliConn->query($query);
        // 迭代处理结果集
        while (list($firstname, $lastname, $email) = $result->fetch_row())
        {
            printf("%s %s's email:%s<br/>", $firstname, $lastname, $email);
        }
       // 关闭连接
        $mysqliConn->close();
    ?>

    5.插入、更新和删除数据

    插入、更新和删除使用的是insert、update和delete查询完成的,其做法实际上与select查询相同。示例代码如下:

    <?php
        // 实例化mysqli类
        $mysqliConn = new mysqli();
        // 连接服务器,并选择一个数据库
        // 错误的密码
        $mysqliConn->connect('127.0.0.1', 'root', 'root', 'db_test');
        if ($mysqliConn->connect_error)
        {
            printf("Unable to connect to the database:%s", $mysqliConn->connect_error);
            exit();
        }
        // 与数据库交互
        $query = 'select firstname, lastname, email from tb_test;';
        // 发送查询给MySQL
        $result = $mysqliConn->query($query);
        // 迭代处理结果集
        while (list($firstname, $lastname, $email) = $result->fetch_row())
        {
            printf("%s %s's email:%s<br/>", $firstname, $lastname, $email);
        }
        $query = "delete from tb_test where firstname = 'Yuan';";
        $result = $mysqliConn->query($query);
        // 告诉用户影响了多少行
        printf("%d row(s) have been deleted.<br/>", $mysqliConn->affected_rows);
        // 重新查询结果集
        $query = 'select firstname, lastname, email from tb_test;';
        // 发送查询给MySQL
        $result = $mysqliConn->query($query);
        // 迭代处理结果集
        while (list($firstname, $lastname, $email) = $result->fetch_row())
        {
            printf("%s %s's email:%s<br/>", $firstname, $lastname, $email);
        }
        // 关闭连接
        $mysqliConn->close();
    ?>

    5.MySQL分页显示公告

       有时候在查询一些数据时,为了更加方便的浏览查询出的信息内容,最好的方法就是通过分页来显示公告信息的内容

    下面主要是使用select语句动态检索数据库中的公告信息,并通过分页技术完成对数据库中公告信息的分页输出,主要部分代码如下:

    <?php
           $conn=mysql_connect("localhost","root","root") or die("数据库服务器连接错误".mysql_error());
           mysql_select_db("db_database18",$conn) or die("数据库访问错误".mysql_error());
           mysql_query("set names gb2312");
            /*  $_GET[page]为当前页,如果$_GET[page]为空,则初始化为1  */
            if ($_GET[page]==""){
             $_GET[page]=1;}
            if (is_numeric($_GET[page])){
            $page_size=4;                                     //每页显示4条记录
            $query="select count(*) as total from tb_affiche  order by id desc";   
            $result=mysql_query($query);                          //查询符合条件的记录总条数
            $message_count=mysql_result($result,0,"total");        //要显示的总记录数
            $page_count=ceil($message_count/$page_size);          //根据记录总数除以每页显示的记录数求出所分的页数
            $offset=($_GET[page]-1)*$page_size;                        //计算下一页从第几条数据开始循环  
            $sql=mysql_query("select * from tb_affiche order by id desc limit $offset, $page_size");
            $row=mysql_fetch_object($sql);
              if(!$row){
                   echo "<font color='red'>暂无公告信息!</font>";
                            }
                  do{
                ?>
                        <?php
                            }while($row=mysql_fetch_object($sql));
                        }
                        ?>
                         </table>
                          <br>
                          <table width="550" border="0" cellspacing="0" cellpadding="0">
                            <tr>
                              <!--  翻页条 -->
                               <td width="37%">&nbsp;&nbsp;页次:<?php echo $_GET[page];?>/<?php echo $page_count;?>页&nbsp;记录:

                        <?php echo $message_count;?> 条&nbsp; </td>
                                <td width="63%" align="right">
                                <?php
                                /*  如果当前页不是首页  */
                                if($_GET[page]!=1){
                                /*  显示“首页”超链接  */
                                echo  "<a href=page_affiche.php?page=1>首页</a>&nbsp;";
                                /*  显示“上一页”超链接  */
                                echo "<a href=page_affiche.php?page=".($_GET[page]-1).">上一页</a>&nbsp;";
                                }
                                /*  如果当前页不是尾页  */
                                if($_GET[page]<$page_count){
                                /*  显示“下一页”超链接  */
                                echo "<a href=page_affiche.php?page=".($_GET[page]+1).">下一页</a>&nbsp;";
                                /*  显示“尾页”超链接  */
                                echo  "<a href=page_affiche.php?page=".$page_count.">尾页</a>";
                                }
                                mysql_free_result($sql);
                                mysql_close($conn);
                                ?>

  • 相关阅读:
    从视频中每隔固定帧进行提取图片
    np.concatenate的超简单理解
    python-OOP(面向对象)
    机器学习中的ground truth
    深度学习网络中backbone是什么意思?
    缓存
    Linux基础命令
    openoffice相关命令
    HTTP协议
    Solr基础
  • 原文地址:https://www.cnblogs.com/linghao713/p/4911400.html
Copyright © 2020-2023  润新知