Blogger Information
Blog 31
fans 0
comment 0
visits 30165
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP的mysqli方式完成基本的增删改查操作
emy
Original
1667 people have browsed it

一、PHP:mysqli介绍

mysqli:只用于连接MySQL数据,可以通过query方法直接执行,也可以通过prepare()方法预处理。可以很大程度的减轻服务器端压力。
mysqli 连接四大参数:数据库的主机名: host;用户名: username;用户密码: password;默认的数据库 :dbname
1、创建一个mysqli连接对象,传入连接参数,连接数据库。

<?php
//配置数据库参数
    $config = [
        'host'=>'127.0.0.1',
        'dbname'=>'users',
        'username'=>'aaa',
        'password'=>'123456',
        'charset'=>'utf8',
        'port'=>'3306',
    ];
    extract($config);//将关联数组扩展为变量,键为变量名,值为数组元素的值
    $mysqli = new mysqli($host, $username, $password, $dbname);//连接数据库
    if($mysqli->connect_errno)die('数据库连接失败:'.$mysqli->connect_errno);//判断是否连接失败,输出失败原因
    $mysqli->set_charset($charset);

2、商户信息表的增删改查操作。
1)mysqli执行query()方法后返回一个结果集对象;
2)查询操作,通过fetch_assoc()、fetch_all()、fetch_row()等方法获取数据;
3)更新、删除操作,通过affected_rows属性获取受影响的记录数.
QQ截图20200514065540.jpg

<?php
// 增加记录操作
    require 'db.php';
    $arr = ['茶叶2','2000',3];
    array_walk($arr,function(&$item,$key,$length) {
        if($key < $length-1) $item = "'$item'";
    },count($arr));
    $data = implode(',',$arr);
    $sql = "INSERT `goods`(`name`,`price`,`number`)VALUES($data)";
    if($mysqli->query($sql)){
        if($mysqli->affected_rows>0) {
            echo '成功添加了',$mysqli->affected_rows.'条记录,
            新增记录ID:'.$mysqli->insert_id;
        }else {
            echo '没有添加新记录';
        }
    }else {
        die('添加失败'.$mysqli->errno.':'.$mysqli->error);
    }
    $mysqli->close();
    echo '<hr>';
    // 删除记录操作
    require 'db.php';
    $sql = "DELETE FROM `goods` where `id` = ".$_GET['id'];
    if($mysqli->query($sql)){
        if($mysqli->affected_rows>0) {
            echo '成功删除了 id='.$_GET['id'].'的记录';
        }else{
            echo '没有删除记录';
        }
    }else{
        die('删除失败'.$mysqli->errno.':'.$mysqli->error);
    }
    $mysqli->close();
    echo '<hr>';
    // 修改记录操作
    require 'db.php';
    $arr = ['name'=> '茶叶888','price' => 3000];
    array_walk($arr,function(&$item,$key){
        $item = "`$key` = '$item'";
    });
    $data = implode(',',$arr);
    $sql = "UPDATE `goods` SET " . $data  . " WHERE `id` = '1'";
    if ($mysqli->query($sql)) {
        if($mysqli->affected_rows>0) {
            echo '成功更新了'.$mysqli->affected_rows.'条记录';
        }else{
            echo '没有更新任何记录';
        }
    }else {
        die('更新失败'.$mysqli->errno.':'.$mysqli->error);
    }
    $mysqli->close();
    echo '<br>';
    // 查询记录操作
    require 'db.php';
    $sql = "SELECT `id`,`name`,`price` FROM `goods` WHERE `id` > 5";
    $mysqli_result = $mysqli->query($sql);
    if($mysqli_result && $mysqli_result -> num_rows > 0) {
        $shop  = $mysqli_result->fetch_all();
        foreach($shops as $shop){
            vprintf('<li>id:%s,商品名:%s,价格:%s</li>',$shop);
        }
    }else {
        echo '查询失败';
    }
    $mysqli_result->free_result();
    $mysqli->close();

四、总结:记录mysqli方式连接数据库知识,为什么要这样写?还不是很懂,只能先仿老师给出的思路。

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:先仿写, 这是必经之路
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post