最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • php连接MySQL数据库进行增删改查

    正文概述 转载于:掘金(陆小天)   2021-07-22   339

    前言

    阅读本文建议在学习完 php基础(点我开始学习) 和 MySQL基础(点我开始学习)

    一、数据备份与还原

    数据库中的数据需要定期备份

    1.1 数据备份

    利用mysqldump工具,语法: mysqldump 数据库连接 > 数据备份地址

    例题:将studentinfo数据库中所有的表导出到data.sql中: php连接MySQL数据库进行增删改查


    例题:只想导出bank表: php连接MySQL数据库进行增删改查 我们将data.sql拖到vscode中,查看: php连接MySQL数据库进行增删改查

    1.2 数据还原

    导出带有创建数据库语法的数据 方法一: php连接MySQL数据库进行增删改查 php连接MySQL数据库进行增删改查


    创建新的数据库,将备份的数据导入: php连接MySQL数据库进行增删改查 php连接MySQL数据库进行增删改查 php连接MySQL数据库进行增删改查


    方法二: php连接MySQL数据库进行增删改查

    二、连接数据库

    2.1 开启mysqli扩展

    在php.ini中开启mysqli扩展 extension==php_mysqli.dll 开启扩展后重启服务器,就可以使用mysqli_函数了。 php连接MySQL数据库进行增删改查

    2.2 连接数据库

    1、创建一个data数据库: php连接MySQL数据库进行增删改查 php连接MySQL数据库进行增删改查 然后在queires下编写sql语句 php连接MySQL数据库进行增删改查 2、创建news表并插入数据:

    drop table if exists news;
    
    create table news (
      id int UNSIGNED auto_increment PRIMARY KEY comment '主键',
      title VARCHAR(20) not null comment '标题',
      content text not null comment '内容',
      createtime int not null comment '添加时间'
    ) engine=innodb charset=gbk comment '新闻表';
    
    -- 插入测试数据
    insert into news values (null, 'counter', 'php、mysql、vue、react', UNIX_TIMESTAMP());
    insert into news values (null, 'jack', 'java、mysql、vue、react', UNIX_TIMESTAMP());
    

    php连接MySQL数据库进行增删改查 php连接MySQL数据库进行增删改查 3、连接数据库

    mysqli_connect(主机IP, 用户名, 密码, 数据库名, 端口号)   // 如果端口号是3306可以省略
    mysqli_connect_error()   // 获取连接数据库的错误信息
    mysqli_connect_errno()  //  获取连接数据库的错误编码
    mysqli_set_charset()  //连接对象,字符编码
    

    测试: mysqli_connect(主机IP, 用户名, 密码, 数据库名, 端口号) php连接MySQL数据库进行增删改查


    mysqli_connect_error() // 获取连接数据库的错误信息 php连接MySQL数据库进行增删改查


    mysqli_connect_errno() // 获取连接数据库的错误编码 php连接MySQL数据库进行增删改查


    mysqli_set_charset(连接对象, 字符编码) //连接对象,字符编码

    <?php
        $link = @mysqli_connect('localhost', 'root', '123456', 'data', '3306');
        // var_dump($link);
        // echo mysqli_connect_error();
        if (mysqli_connect_error()) {
            echo '错误号'.mysqli_connect_errno(),'<br/>';
            echo '错误信息: '.mysqli_connect_error();
            exit;
        }
        mysqli_set_charset($link, 'gbk');
    ?>
    

    三、操作数据

    3.1 数据操作语句

    用到的函数:

    mysqli_query()   // 执行SQL语句
    mysqli_insert_id()   // 获取插入记录自动增长的id
    mysqli_affected_rows()  //  获取受影响的记录数
    mysqli_error()   // 获取执行SQL语句的错误信息
    mysqli_errono()  //  获取执行SQL语句的错误码
    

    增、删、改语句执行成功返回true,失败返回false。select、show、desc查询成功会返回结果集。

    例: 1、执行insert语句:

    <?php
        $link = @mysqli_connect('localhost', 'root', '123456', 'data', '3306');
        mysqli_set_charset($link, 'gbk');
        
        $rs = mysqli_query($link, "insert into news values (null, 'jackson', 'dance,voince', unix_timestamp())");
        var_dump($rs);
    ?>
    

    php连接MySQL数据库进行增删改查 php连接MySQL数据库进行增删改查 成功后获取自动增长的编号:

    <?php
        $link = @mysqli_connect('localhost', 'root', '123456', 'data', '3306');
        mysqli_set_charset($link, 'gbk');
        
        $rs = mysqli_query($link, "insert into news values (null, 'jackson', 'dance,voince', unix_timestamp())");
        // var_dump($rs);
        if ($rs) {
            echo '自动增长的编号是:'.mysqli_insert_id($link);
        }
    ?>
    

    2、执行update语句 现有数据如下: php连接MySQL数据库进行增删改查 语句:

    <?php
        $link = @mysqli_connect('localhost', 'root', '123456', 'data', '3306');
        mysqli_set_charset($link, 'gbk');
        
        $rs = mysqli_query($link, "update news set title='kangkang' where id=4");
        if ($rs) {
            echo '受影响的记录数是:'.mysqli_affected_rows($link);
        }
        else {
            echo '错误码:'.mysqli_errno($link),'<br/>';
            echo '错误信息:'.mysqli_error($link);
        }
    ?>
    

    错误的情况,将id改为ids肯定就没有这个字段: php连接MySQL数据库进行增删改查 成功的情况: php连接MySQL数据库进行增删改查


    3、执行deleta语句

    <?php
        $link = @mysqli_connect('localhost', 'root', '123456', 'data', '3306');
        mysqli_set_charset($link, 'gbk');
        
        $rs = mysqli_query($link, "delete from news where id=5");
        echo $rs;
    ?>
    

    php连接MySQL数据库进行增删改查

    3.2 数据查询语句

    数据查询用select、desc、show,成功会返回结果集,失败返回false

    例: 1、select查询语句

    <?php
        $link = @mysqli_connect('localhost', 'root', '123456', 'data', '3306') or die('连接错误信息:'.mysqli_connect_error());
        mysqli_set_charset($link, 'utf8');
        
        $rs=mysqli_query($link,'select * from news');
    
        // 将一条记录匹配成索引数组
        $rows=mysqli_fetch_row($rs);
        
        // 将对象中一条数据匹配成关联数组
        $gl=mysqli_fetch_assoc($rs);
    
        // 将对象中一条数据匹配成既有关联数组又有索引数组
        $glsy=mysqli_fetch_array($rs);
        
    
        print_r($rows);
        echo '<br/>';
        print_r($gl);
        echo '<br/>';
        print_r($glsy);
        echo '<br/>';
    
        // 总列数、总行数
        echo '总行数'.mysqli_num_rows($rs), '<br/>';
        echo '总列数'.mysqli_num_fields($rs), '<br/>';
    ?>
    

    php连接MySQL数据库进行增删改查 获取所有数据:

    <?php
        $link = @mysqli_connect('localhost', 'root', '123456', 'data', '3306') or die('连接错误信息:'.mysqli_connect_error());
        mysqli_set_charset($link, 'utf8');
        
        $rs=mysqli_query($link,'select * from news');
    
        // 获取所有数据
        $list=mysqli_fetch_all($rs);
        echo '总数:';
        echo '<pre/>';
        print_r($list);
    ?>
    

    php连接MySQL数据库进行增删改查 销毁结果集并关闭连接:

    mysqli_free_result($rs);
    mysqli_close($link);
    

    使用的函数:

    mysqli_fetch_assoc()  // 将一条数组匹配关联数组
    mysqli_fetch_row()  // 将一条记录匹配成索引数组,每次查询指针都将指向当前
    mysqli_fetch_array()  // 将一条记录匹配成既有关联数组又有索引数组
    mysqli_fetch_all()  // 匹配所有记录
    mysqli_num_rows()  //  总行数
    mysqli_num_fields()  //  总记录数
    mysqli_free_result()  //  销毁结果集
    mysqli_close()  // 关闭连接
    

    起源地下载网 » php连接MySQL数据库进行增删改查

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元