zoukankan      html  css  js  c++  java
  • 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);
                                ?>

  • 相关阅读:
    VisualSVN-Server windows 版安装时报错 "Service 'VisualSVN Server' failed to start. Please check VisualSVN Server log in Event Viewer for more details."
    Pytest 单元测试框架之初始化和清除环境
    Pytest 单元测试框架入门
    Python(email 邮件收发)
    Python(minidom 模块)
    Python(csv 模块)
    禅道简介
    2020年最好的WooCommerce主题
    Shopify网上开店教程(2020版)
    WooCommerce VS Magento 2020:哪个跨境电商自建站软件更好?
  • 原文地址:https://www.cnblogs.com/linghao713/p/4911400.html
Copyright © 2011-2022 走看看