zoukankan      html  css  js  c++  java
  • php连接和操作mysql数据库

    php连接mysql数据库

    PHP访问MYSQL数据库的五个步骤

    1.连接MySQL数据库

    使用 mysqli_connect()函数建立与MySQL服务器的连接。

    2.选择MySQL数据库

    使用 mysqli_select_db()函数选择MySQL数据库服务器的数据库。

    3.执行 SQL 语句

    在选择数据库中使用 mysqli_query()函数执行 SQL语句,对数据的操作方式主要包括 5种方式,下面我们分别进行介绍。

    • 查询数据:使用select 语句实现数据的查询功能。

    • 显示数据:使用select 语句显示数据的查询结果。

    • 插入数据:使用insert into 语句向数据库中插入数据。

    • 更新数据:使用update 语句更新数据库中的记录。

    • 删除数据:使用 delete语句删除数据库中的记录!

    4.关闭结果集

    数据库操作完成后,需要关闭结果集,以释放系统资源,使用mysqli_free_result($result);

    5.关闭MySQL服务器

    每使用一次 mysqli_connect()或者mysqli_query()函数,都会消耗系统资源,如果用户连接超过一定数量时,就会造成系统性能下降,甚至是死机,为了避免这种现象的发生,在完成数据库的操作后,应该使用 mysqli_close()函数关闭与MYSQL服务器的连接,以节省系统资源。

    技巧:

    如果在多个网页中都要频繁进行数据库访问,那么可以建立与数据库服务器的持续连接来提高效率,因为每次与数据库服务器的连接需要较长的时间和交大的资源开销,持续的连接相对来说会更有效率,建立持续连接的方法就是在数据库间接时,调用函数 mysqli_pconnect()代替mysqli_connect函数。建立的持续连接在本程序结束时,不需要调用 mysqli_colse()来关闭与数据库服务器的连接。下次程序在此执行 mysqli_pconnect()函数时,系统自动直接返回已经建立的持续连接ID号,而不再去真的连接数据库。

    PHP 中与数据库的连接是非持久连接,系统会自动回收,一般不用设置关闭,但是如果一次性访问的结果集比较大,或者网站访问量比较多,那么最好使用 mysqli_close()函数手动进行释放。

    使用mysqli_connect()函数连接数据库

    //创建连接
    $conn = new mysqli('localhost','root','123456','test');
    //检测连接
    if($conn->connect_error){
        die('连接失败:'.$conn->connect_error);
    }

    使用mysqli_select_db()函数选择数据库文件

    下面的实例使用了 mysql_select_db()函数连接数据库,具体实例代码如下:

    $link = mysqli_connect('localhost','root','123456') or die('不能连接到数据库').mysqli_error();
    $conn = mysqli_select_db($link,'test');
    if($conn){
        echo '数据库连接成功';
    }

    上面的代码$conn = mysqli_select_db($link,'test');可以使用下面的代码替代:

    $conn = mysqli_query($link,'use test');

    使用mysqli_query()函数执行SQL语句

    下面举例说明常见的 SQL 语句的用法。

    <?php
    
    $conn = mysqli_connect('localhost','root','123456','test') or die('不能连接到数据库').mysqli_error();
    
    //添加会员记录
    $sql = "INSERT INTO login(username,password,confirm,email) VALUES ('cyy2','123456','123456','965794175@qq.com')";
    if(mysqli_query($conn,$sql)){
        echo '插入成功';
    }else{
        echo 'error:'.$sql.'<br>'.mysqli_error($conn);
    }
    
    //修改会员记录
    $sql = "UPDATE login SET username = 'cyy' where id = '3'";
    if(mysqli_query($conn,$sql)){
        echo '更新成功';
    }else{
        echo 'error:'.$sql.'<br>'.mysqli_error($conn);
    }
    
    //删除会员记录
    $sql = "DELETE FROM login WHERE id = '4' ";
    if(mysqli_query($conn,$sql)){
        echo '删除成功';
    }else{
        echo 'error:'.$sql.'<br>'.mysqli_error($conn);
    }
    
    //查询会员记录
    $sql = "SELECT * FROM login";
    if(mysqli_query($conn,$sql)){
        echo '查询成功';
    }else{
        echo 'error:'.$sql.'<br>'.mysqli_error($conn);
    }
    
    //显示表结构
    $sql = "DESC login";
    if(mysqli_query($conn,$sql)){
        echo '显示成功';
    }else{
        echo 'error:'.$sql.'<br>'.mysqli_error($conn);
    }

    使用mysqli_fetch_array()获取数组结果集中的信息

    mysqli_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false。

    注意:

    mysqli_fetch_array() 函数返回的字段名区分大小写。

    具体开发步骤如下:

    1.创建一个PHP动态页面,命名index.php,在index.php中添加一个表单,一个文本框以及一个提交按钮,具体代码如下:

    <html>
    
    <body>
    
        <!--上传文件表单-->
    
        <form method="post" action="" name = form1>
    
            <table>
    
               <tr>
    
                   <td width="605" height="51" bgcolor="#CC99FF">
    
                       <p align="center">请输入查询内容
    
                           <input type="text" name="username" id="username" size="25">&nbsp;
    
                           <input type="submit" name="Submit" value="查询">
    
                       </p>
    
                   </td>
    
               </tr>
    
                </table>
    
            </form>
    
    </body>
    
    </html>

    页面如下:

    2.连接到MySQL数据库服务器。具体代码如下:

    <?php
    
    header("Content-Type:text/html; charset=utf-8");
    
    //连接数据库
    $link = mysqli_connect("localhost","root","123456","test")or die("连接数据库失败".mysqli_error());
    mysqli_query($link,"set names utf-8");   //设置编码,防止发生乱码
    
    ?>

    3.使用 if 条件语句判断用户是否单击“查询”按钮,如果是那么使用POST 方法接受传递过来的信息,执行SQL语句,该查询语句主要用来实现信息的模糊查询,查询结果被赋予变量$sql。然后从数组结果集中获取信息,具体代码如下:

    //模糊查询
    $sql = mysqli_query($link,"SELECT * FROM login");
    $info = mysqli_fetch_array($sql);
    if($_POST['submit'] == '查询'){
      $username = $_POST['username'];
      $sql = mysqli_query($link,"SELECT * FROM login WHERE username LIKE '%".trim($username)."%' ");
      $info = mysqli_fetch_array($sql);
    }

    4.使用 if条件语句对结果集变量$info进行判断,如果该值为假,那么就使用 echo 语句输出检索的信息不存在,具体代码如下:

    //判断结果
    if(!$info){
      echo "<p align='center' style='color: #FF0000;font-size: 12px'>对不起,查询的信息不存在</p>";
    }

    5.使用 do...while 循环语句以表格形式输出数组结果集$info[]中的信息,一字段的名称为索引,使用 echo 语句输出数组$info[]的信息,具体代码如下:

    //循环输出结果
    do {      //do...while 循环
    
        ?>
    
        <table>
    
            <tr align="left" bgcolor="#FFFFFF">
    
                <td height="20" align="center"><?php echo $info["id"] ?></td>
    
                <td height="20" align="center"><?php echo $info["username"] ?></td>
    
                <td height="20" align="center"><?php echo $info["password"] ?></td>
    
                <td height="20" align="center"><?php echo $info["confirm"] ?></td>
    
                <td height="20" align="center"><?php echo $info["email"] ?></td>
    
            </tr>
    
        </table>
    
        <?php
    
    }while($info = mysqli_fetch_array($sql));

    输出结果如下:

    使用mysqli_fetch_row()函数逐行获取结果集中的每条记录

    <html>
    
    <body>
    
        <!--上传文件表单-->
    
        <form method="post" action="" name = form1>
    
            <table>
    
               <tr>
    
                   <td width="605" height="51" bgcolor="#CC99FF">
    
                       <p align="center">请输入查询内容
    
                           <input type="text" name="username" id="username" size="25">&nbsp;
    
                           <input type="submit" name="submit" value="查询">
    
                       </p>
    
                   </td>
    
               </tr>
    
                </table>
    
            </form>
    
    <?php
    
    header("Content-Type:text/html; charset=utf-8");
    error_reporting(0);
    
    //连接数据库
    $link = mysqli_connect("localhost","root","123456","test")or die("连接数据库失败".mysqli_error());
    mysqli_query($link,"set names utf-8");   //设置编码,防止发生乱码
    
    
    //模糊查询
    $sql = mysqli_query($link,"SELECT * FROM login");
    $info = mysqli_fetch_row($sql);
    if($_POST['submit'] == '查询'){
      $username = $_POST['username'];
      $sql = mysqli_query($link,"SELECT * FROM login WHERE username LIKE '%".trim($username)."%' ");
      $info = mysqli_fetch_row($sql);
    }
    
    //判断结果
    if(!$info){
      echo "<p align='center' style='color: #FF0000;font-size: 12px'>对不起,查询的信息不存在</p>";
    }
    
    //循环输出结果
    do {      //do...while 循环
    
        ?>
    
        <table>
    
            <tr align="left" bgcolor="#FFFFFF">
    
                <td height="20" align="center"><?php echo $info[0] ?></td>
    
                <td height="20" align="center"><?php echo $info[1] ?></td>
    
                <td height="20" align="center"><?php echo $info[2] ?></td>
    
                <td height="20" align="center"><?php echo $info[3] ?></td>
    
                <td height="20" align="center"><?php echo $info[4] ?></td>
    
            </tr>
    
        </table>
    
        <?php
    
    }while($info = mysqli_fetch_row($sql));
    
    ?>
    
    </body>
    
    </html>
  • 相关阅读:
    Python之CVXOPT模块
    JavaScript之读取和写入cookie
    jQuery学习(2)ajax()使用
    JavaScript之使用AJAX(适合初学者)
    Jquery焦点图实例
    jquery-mobile表单提交问题
    程序员笔记|Spring IoC、面向切面编程、事务管理等Spring基本概念详解
    使用什么调试swoole程序
    swoole模块的编译安装:php编译安装swoole模块的代码
    TP5使用Redis处理电商秒杀
  • 原文地址:https://www.cnblogs.com/chenyingying0/p/12955816.html
Copyright © 2011-2022 走看看