• PHP mysqli学习(一)数据库连接


    根据慕课网学习整理 http://www.imooc.com/learn/349


    mysql为面向过程方式,mysqli有面向对象和面向过程两种方式。

    mysql 数据库连接:

    <?php
    header("Content-type: text/html; charset=utf-8");
    error_reporting(0);
    /******************************************
     * mysql_connect
     * 作    用:建立数据库连接
     * 参    数:数据库服务器地址,数据库用户名,密码
     * 返回值:1、当连接成功的时候返回mysql连接标识符
     * 2、当连接失败的时候返回false
     ********************************************/
    $conn = mysql_connect("localhost:3306", "root", "root");
    if ($conn) {
        echo "mysql连接成功";
    } else {
        echo "mysql连接失败";
    }
    
    echo "<br/>";
    /******************************************
     * mysql_select_db
     * 作    用:选择数据库
     * 参    数:数据库名称,(mysql连接标识符,可选)
     * 返回值:1、当选择成功的时候返回true
     * 2、当选择失败的时候返回false
     ********************************************/
    $db = mysql_select_db("zhy");
    if ($db) {
        echo "选择zhy数据库成功";
    } else {
        echo "选择zhy数据库失败";
    }
    
    echo "<br/>";
    /******************************************
     * mysql_query
     * 作    用:执行一条 MySQL 查询
     * 参    数:sql命令,(mysql连接标识符,可选)
     * 返回值:1、当执行成功的时候,目前我们知道的是,insert成功,返回true
     * 2、当执行失败的时候返回false
     ********************************************/
    mysql_query('set names utf8');
    //if (mysql_query('insert into user(name, age, description) values("吕布", 23, "三姓家奴")')) {
    //    echo "插入成功";
    //} else {
    //    /******************************************
    //     * mysql_error
    //     * 作    用:返回上一个 MySQL 操作产生的文本错误信息
    //     * 参    数:(可选 mysql连接标识符)
    //     * 返回值:1、返回上一个 MySQL 操作产生的文本错误信息
    //     ********************************************/
    //    echo mysql_error();
    //    echo "插入失败";
    //}
    
    echo "<br/>";
    $query = mysql_query('select * from user');//当mysql_query 执行的sql是select语句的时候,如果执行成功,返回的是资源标识符
    //print_r(mysql_result($query, 0));
    echo "<br/>";
    /******************************************
     * mysql_fetch_row
     * 每执行一次,都从资源也就是结果集里依次取一条数据,以数组的形式返回出来,当前一次已经取到最后一条数据的时候,这一次返回空结果。
     * 返回的数组是一个一维索引数组,每一个下标与数据库里字段的排序相对应。
     ********************************************/
    while($row = mysql_fetch_row($query)){//我们发现它返回出了查询到的资源的第一条数据
    //    echo $row[0].$row[1].'<br />';
        var_dump($row);
    }
    
    /******************************************
     * mysql_close
     * 作    用:函数关闭非持久的 MySQL 连接
     * 参    数:mysql连接标识符
     * 返回值:1、关闭成功true
     * 2、关闭失败false
     ********************************************/
    mysql_close($con);

    mysqli 数据库连接:

    <?php
    header('content-type:text/html;charset=utf-8');
    /***********************************
     * 方式一                           *
     ***********************************/
    //$mysqli = new mysqli("localhost:3306", "root", "root");
    //$mysqli->select_db("zhy");
    //print_r($mysqli);
    
    /***********************************
     * 方式二                           *
     ***********************************/
    //$mysqli = new mysqli("localhost:3306", "root", "root", "zhy");
    //print_r($mysqli);
    
    /***********************************
     * 方式三                           *
     ***********************************/
    //$mysqli = new mysqli();
    //$mysqli->connect("localhost:3306", "root", "root", "zhy");
    
    /********************************************
     * 方式四 打印错误信息
     * $mysqli->connect_errno:得到连接产生的错误编号
     * $mysqli->connect_error:得到连接产生的错误信息
     ********************************************/
    $mysqli = @new mysqli("localhost:3306", "root", "root", "zhy");
    if ($mysqli->connect_errno) {
        die('Connect Error:' . $mysqli->connect_error);
    }
    /***********************************
     * 设置默认的客户端编码方式utf8
     ***********************************/
    $mysqli->set_charset("utf8");
    
    /*******************************************************************************
     * 执行SQL查询
     *
     * SELECT/DESC/DESCRIBE/SHOW/EXPLAIN执行成功返回mysqli_result对象,执行失败返回false
     * 对于其它SQL语句的执行,执行成功返回true,否则返回false(如create、update、insert)
     *******************************************************************************/
    $sql = <<<EOF
        CREATE TABLE IF NOT EXISTS mysqli(
            id TINYINT UNSIGNED AUTO_INCREMENT KEY,
            username VARCHAR(20) NOT NULL
        );
    EOF;
    $res = $mysqli->query($sql);
    var_dump($res);
    
    /***********************************
     * 关闭数据库
     ***********************************/
    $mysqli->close();
  • 相关阅读:
    Serverless 动态博客开发趟“坑”记
    tsv与csv文件
    zypper
    source、sh、./三种执行方式对脚本变量的影响
    linux nm
    ldconfig
    cpio
    License简介
    rpm之spec文件
    使用rpmbuild制作rpm包
  • 原文地址:https://www.cnblogs.com/zhyzyn1314/p/5457453.html
Copyright © 2020-2023  润新知