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);
                            ?>

PHP MySql数据库访问的更多相关文章

  1. 【Mysql数据库访问利器】phpMyadmin

    缘由 我们程序员难免要和数据库打交道,经过这几年的锻炼,感觉手写SQL语句已经忘记的差不错了,促使我一定要这篇文章的原因是,有一次晚上我更新某个系统的数据库的表(由于目前公司比较严格,数据库都只能通过 ...

  2. 腾讯云自建MySQL数据库访问

    1. 登陆腾讯云 https://cloud.tencent.com/ 2. 登陆控制台 https://console.cloud.tencent.com/ 3. 选择云主机 4. 选择重装系统 5 ...

  3. 记一次常规的Mysql数据库访问的时间分析

    背景:记一次常规的数据访问的时间分析(插入操作) 1. TCP三次握手 SYN ---> <--- SYN,ACK ACK ---> 花费时间: 386.718-385.784=0. ...

  4. mysql数据库访问权限限制设置

    ---只能本地访问,设置随意访问 update user set host='%' where host='localhost': flush privileges; ---随意访问,设置只能本地访问 ...

  5. C#访问MySQL数据库帮助类

    MySQL数据库访问帮助类 1.项目添加引用官方MySQL动态库MySql.Data.dll 下载地址:MySql.Data.dll(也可以到官网下载动态库)项目添加引用 这里有一个Mysql帮助类的 ...

  6. Linux下C++访问MySQL数据库

    由于想要开始了解并学习用LAMP进行web开发,所以昨晚我在Fedora上安装了MySQL,学习了MySQL的几个常用命令.想着在学习进行web开发(PHP访问数据库)之前,先用我熟悉的C++连接数据 ...

  7. PHP学习9——MySQL数据库

    主要内容: MySQL的启动 MySQL数据库操作 数据库表设计 创建和查看表 修改表结构 MySQL语句操作 数据库备份与恢复 PHP操作MySQL数据库 面向对象的数据库操作 MySQL数据库是目 ...

  8. Python数据库访问公共组件及模拟Http请求

    前言 最近一段时间除了忙于工作之外,在业余时,迷上了python,对它的跨平台深深的吸引.经过一段时间的自我学习,了解了其基本的语法,便开始自己着手摆弄起来.主要想把以前对接的接口再实现一次,以便于在 ...

  9. .net连接MySQL数据库的方案与实例演示

    以下的文章主要是向大家描述的是.net连接MySQL数据库的实际操作方法与其实例的演示.net连接MySQL数据库的实际操作方案我们主要是将其分成三部分,以下的文章就有其详细内容的描述. http:/ ...

随机推荐

  1. 为什么Underscore

    Underscore是什么? Underscore一个JavaScript实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象.它是这个问题的答案:“如果我在一个空白 ...

  2. 从一个小例子认识SQL游标

    1    什么是游标: 关系数据库中的操作会对整个行集起作用. 例如,由 SELECT 语句返回的行集包括满足该语句的 WHERE 子句中条件的所有行. 这种由语句返回的完整行集称为结果集. 应用程序 ...

  3. 修改MyEclipse8.6的Servlet模板

    D:\Genuitec\Common\plugins\com.genuitec.eclipse.wizards_****.jar 解压jar包, 进入templates文件夹,修改生成Servlet模 ...

  4. 判断用户是pc访问还是手机访问

    前天因为手机页面中点击无法链接53客服,就研究了下怎样通过js判断,用户是拿手机(ipad)访问,还是pc端访问, 如果是手机访问的话只需把链接通过attr修改a的链接地址~ <a class= ...

  5. 《UNIX网络编程》TCP客户端服务器:并发、消息回显

    经过小小改动,把前面基础的例子做出一点修改. 并发服务器,服务器每accept一个请求就fork()一个新的子进程. 编译运行方法同前一篇. /*client_tcp.c*/ #include < ...

  6. lex 和 yacc 的区别与联系

    lex负责词法解析,而yacc负责语法解析,其实说白了就是lex负责根据指定的正则表达式,将输入的字符串匹配成一个一个的token,同时允许用户将当前匹配到的字符串进行处理,并且允许返回一个标识当前t ...

  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"的作用

    为页面添加正确的DOCTYPE 很多设计师和开发者都不知道什么是DOCTYPE,DOCTYPE有什么用.DOCTYPE是document type的简写.主要用来说明你用的XHTML或者HTML是什么 ...

  8. [Django] Windows 下安装 配置Pinax 工程

    Pinax 是一个基于Django开发的脚手架,有一些现成的模板和功能模块可以使用,方便快速有效的开发一个Django项目.下面举个例子如何安装一个pinax项目到集成开发环境Aptana里面. 先从 ...

  9. Cocos2d-X学习之Ref类

    先看看定义该类的头文件——CCRef.h /**************************************************************************** C ...

  10. QT里嵌入Python

    刚看到一个软件,叫做,明明是QT做的,却带了很多pyd文件(Python编译后的文件),上网一查,果然有这套相关的东西: https://doc.qt.io/archives/qq/qq23-pyth ...