博客列表 >PHP的mysqli方式完成基本的增删改查操作

PHP的mysqli方式完成基本的增删改查操作

emy
emy原创
2020年05月14日 06:56:431654浏览

一、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方式连接数据库知识,为什么要这样写?还不是很懂,只能先仿老师给出的思路。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议