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

    技术2024-08-08  79

    本文目录

    前言一、数据备份与还原1.1 数据备份1.2 数据还原 二、连接数据库2.1 开启mysqli扩展2.2 连接数据库 三、操作数据3.1 数据操作语句3.2 数据查询语句

    前言

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

    一、数据备份与还原

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

    1.1 数据备份

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

    例题:将studentinfo数据库中所有的表导出到data.sql中:


    例题:只想导出bank表: 我们将data.sql拖到vscode中,查看:

    1.2 数据还原

    导出带有创建数据库语法的数据 方法一:


    创建新的数据库,将备份的数据导入:


    方法二:

    二、连接数据库

    2.1 开启mysqli扩展

    在php.ini中开启mysqli扩展 extension==php_mysqli.dll 开启扩展后重启服务器,就可以使用mysqli_函数了。

    2.2 连接数据库

    1、创建一个data数据库: 然后在queires下编写sql语句 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());

    3、连接数据库

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

    测试: mysqli_connect(主机IP, 用户名, 密码, 数据库名, 端口号)


    mysqli_connect_error() // 获取连接数据库的错误信息


    mysqli_connect_errno() // 获取连接数据库的错误编码


    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 $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 $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肯定就没有这个字段: 成功的情况:


    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; ?>

    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 $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); ?>

    销毁结果集并关闭连接:

    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的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。

    Processed: 0.011, SQL: 9