zoukankan      html  css  js  c++  java
  • php mysqli操作数据库

    链接数据库

    在php5.3版本之后,想要连接数据库有两种方案,一种是通过mysqli,另外外一种是通过pdo

    本文主要说的是如果通过mysqli面向对象的写法操作数据库。

    在连接数据库之前,需要先通过变量存储好数据库的基本连接信息。

    $servername = "localhost"; // 地址
    $username = "root"; // 用户名
    $password = ""; // 密码

    实例化对象,并传入先关参数

    $link = new mysqli($servername,$username,$password);

    判断链接是否成功

    // 检测连接是否成功
    if($link->connect_error){     //如果没有错误,会返回一个NULL
        die("连接失败,错误:" . $link->connect_error);   //打印错误信息
    }

    链接之后,断开连接关闭数据库

    $link->close();

    完整demo:

    <?php 
    // php 连接Mysql
    // 通过mysqli  
    
    // 采用面向对象的写法来完成数据库的连接
    // 设置基础数据库信息
    
    $servername = "localhost";
    $username = "root";
    $password = "";
    
    // 创建连接
    $link= new mysqli($servername,$username,$password);
    
    // 检测连接是否成功
    if($link->connect_error){
        die("连接失败,错误:" . $link->connect_error);
    }
    
    // 否则连接成功
    echo "连接成功!";
    // 连接之后,还需要将连接关闭
    $link->close();
     ?>
    View Code

    通过mysqli创建数据库

    通过mysqli创建数据库,首先我们需要保证数据库的成功连接。

    $servername = "localhost";
    $username = "root";
    $password = "";
    
    // 创建连接
    $link= new mysqli($servername,$username,$password);  
      
    //检测是否成功
    if($link->connect_error){
        die("连接失败,错误:" . $link->connect_error);
    }

    接下来通过变量保存好sql语句。

    // 设置sql语句
    $sql = "create database stu_01  default character set = 'utf8' ";

    检测数据库是否创建成功

    // 发送sql语句 并且验证是否创建成功
    if($link->query($sql) === TRUE){
        echo "数据库创建成功.";
    }else {
        echo "数据库创建失败 ,错误信息为:" . $link->error; // 如果失败输出错误信息
    }

    断开连接,关闭数据库

    // 关闭数据库
    $conn->close();

    添加数据库完整demo

    <?php 
    
    $servername = "localhost";
    $username = "root";
    $password = "";
    
    // 创建连接
    $link= new mysqli($servername,$username,$password);    
    if($link->connect_error){
        die("连接失败,错误:" . $link->connect_error);
    }
    
    // 设置sql语句
    $sql = "create database stu_01  default character set = 'utf8' ";
    
    // 发送sql语句 并且验证是否创建成功
    if($link->query($sql) === TRUE){
        echo "数据库创建成功.";
    }else {
        echo "数据库创建失败 ,错误信息为:" . $link->error; // 如果失败输出错误信息
    }
    
    // 关闭数据库
    $conn->close();
    ?>
    View Code

    通过mysqli 创建数据表

    通过mysqli创建数据表,首先我们先来完成基本的数据库连接操作,

    需要注意的是,因为我们是在数据库中创建一个数据表,所以需要在额外的配置一下数据库的信息:

    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "stu_01"; // 要操作的数据库名
    
    // 创建连接 
    $link= new mysqli($servername,$username,$password,$dbname); // 注意第四个参数
    if($link->connect_error){
        die("连接失败,错误:" . $link->connect_error);
    }

    设定创建数据表的sql语句

    create table stu_info(
        id int(6) unsigned auto_increment primary key,
        firstname varchar(30) not null,
        lastname varchar(30) not null,
        email varchar(50),
        reg_date timestamp
        )
    
    
    /*
    NOT NULL        - 每一行都必须含有值(不能为空),null 值是不允许的。
    DEFAULT value   - 设置默认值
    UNSIGNED        - 使用无符号数值类型,0 及正数
    AUTO INCREMENT  - 设置 MySQL 字段的值在新增记录时每次自动增长 1
    PRIMARY KEY     - 设置数据表中每条记录的唯一标识。 
               通常列的 PRIMARY KEY 设置为 ID 数值,与 AUTO_INCREMENT 一起使用。

    注意:每个表都应该有一个主键(本列为 "id" 列),主键必须包含唯一的值。
    */

    通过mysqli向数据表中插入信息

    首先,连接数据库

    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "stu_01";
    // 创建连接
    $conn = new mysqli($servername,$username,$password,$dbname);    
    if($conn->connect_error){
        die("连接失败,错误:" . $conn->connect_error);
    }

    接下来设置sql语句:

    // 设置插入数据的sql语句 
    $sql = "insert into stu_info(firstname,lastname,email) values('张三','张小三','zhangsan@qq.com')";

    发送sql语句

    // 发送sql 语句 
    if($conn->query($sql) === TRUE){
        echo "新记录添加成功!";
    }else {
        echo "新记录添加失败,错误信息:" . $conn->error;
    }
    
    // 关闭连接
    $conn->close();

    通过mysqli删除数据

    <?php
    
    
    // 数据库连接基本信息
    header("Content-type:text/html;Charset=utf8");
    
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "stu_02";
    
    $conn = new mysqli($servername,$username,$password,$dbname);
    
    mysqli_set_charset($conn,'utf8'); // 解决乱码问题
    // 检查链接
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    } 
    
    
    // 设置sql
    $sql = "delete from stu_info where lastname = '李小思';";
    
    // 发送sql 
    if($conn->query($sql) === TRUE) {
        echo "删除成功";
    }else {
        echo "删除失败,错误信息为:" . $conn->connect_error;
    }
    
    $conn->close();

    通过mysqli 更改数据

    <?php
    
    // 数据库连接基本信息
    header("Content-type:text/html;Charset=utf8");
    
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "stu_02";
    
    $conn = new mysqli($servername,$username,$password,$dbname);
    
    mysqli_set_charset($conn,'utf8'); // 解决乱码问题
    // 检查链接
    if ($conn->connect_error) {
        die("连接失败: " . $conn->connect_error);
    }
    
    // 设置sql语句 
    $sql = "update stu_info set firstname='张小三' where id = 3";
    
    // 发送sql语句 
    if($conn->query($sql) === TRUE) {
        echo "修改成功";
    }else {
        echo "修改失败,错误信息:" . $conn->connect_error;
    }
    
    // 关闭
    $conn->close();

    通过mysqli 查找数据

    <?php
    
        // 1.登录mysql,选择数据库
        $link = @new mysqli("localhost:3306","root","root","test1908");
        if($link->connect_error){
            echo $link->connect_error;
        }
    
        // 2.$link->query()向mysql发送命令
        
        // 查
        $q = "SELECT * FROM stu";
        $res = $link->query($q);
        if($res){
            // 每次执行只能解析一条数据
            // 1.解析出了关联数组和索引数组的集合
            // while($arr = $res->fetch_array()){
            //     print_r($arr);
            //     echo "<br>";
            // }
    
            // 2.解析出了索引数组
            // while($arr = $res->fetch_row()){
            //     print_r($arr);
            //     echo "<br>";
            // }
    
            // 3.解析出了关联数组       √
            while($arr = $res->fetch_assoc()){
                print_r($arr);
                // echo json_encode($arr);
                echo $arr["sex"];
                echo "<br>";
            }
    
            // 4.解析出了对象
            // while($obj = $res->fetch_object()){
            //     print_r($obj);
            //     echo $obj->name;
            //     echo "<br>";
            // }
            
            // echo $arr["age"]
        }else{
            echo "select no ok";
        }
    
        // 断开mysql之间的连接
        $link->close();
    ?>
  • 相关阅读:
    9th week
    8th Week 2
    8th Week 1
    课后作业-阅读任务-阅读提问-4
    2017-11-30-构建之法:现代软件工程-阅读笔记
    《团队-OldNote-项目总结》
    个人编程作业2-课程总结
    《团队-Oldnote-最终程序》
    课后作业-阅读任务-阅读提问-3
    《20171102-构建之法:现代软件工程-阅读笔记》
  • 原文地址:https://www.cnblogs.com/yad123/p/11490881.html
Copyright © 2011-2022 走看看