数据访问
发布日期:2021-10-17 00:06:22
浏览次数:20
分类:技术文章
本文共 2444 字,大约阅读时间需要 8 分钟。
1.步骤
1.造连接对象
1 | $db = new MySQLi( 'localhost' , '' , '' , '' ); //数据库服务器地址就是ip地址,本地的话也需要写对方ip地址,数据库用户名,数据库连接密码,操作的数据库名称,端口号默认端口号(一般不用),服务连接(一般也不用) |
例如:
1 | $db = new MySQLi( "localhost" , "root" , "123" , "test1" ); //连接到我的数据库 |
2.判断链接是否出错
1 2 3 4 5 | if (mysqli_connect_error()) { die ( "链接失败" ); } //出错会返回值,没有错误就返回空,放在if中就可以来判断 //可以不用写 |
3.准备sql语句
1 | $sql = "select * from info" ; //SQL的各种语句 |
例如:
1 | $sql = "select * from student" ; //查询我库中的学生表 |
4.执行sql语句
1 2 | $result = $db ->query( $sql ); //执行sql语句方法mysql::query 它需要的参数:连接,sql语句,返回数据的模式(一般不用) //失败是返回false,查询语句返回结果集对象result,增删改语句成功返回true失败返回false |
例如:
1 | $result = $db ->query( $sql ); //执行上面的查询语句 |
返回结果就是没有值,那就是正确的
5.从结果集中取数据:
1 2 3 4 5 6 7 8 9 10 11 | $attr = $result ->fetch_all(); //这个方法不能随便使用,特别是放在服务器上时,默认的返回所有数据并且是以索引的二维数组方式存在。。它需要的参数:result结果集,resulttype结果类型 //结果类型有这几种:(MYAQLI_ASSOC返回的是关联数组;MYAQLI_NUM返回索引数组;MYAQLI_BOTH返回的是既有索引又有关联的数组)使用时不需要加双引号,直接用就可以 fetch_array(); //返回只包含一条数据,返回的是一维数组,但不是全部而是当前一条数据,索引和关联都有的数组,执行第二遍是返回的下一条数据,也就是第二条数据 //参数:(MYAQLI_ASSOC返回的是关联数组;MYAQLI_NUM返回索引数组;MYAQLI_BOTH返回的是既有索引又有关联的数组)使用时不需要加双引号,直接用就可以 fetch_assoc(); //返回的当前一条数据并且是一维的关联数组 fetch_object(); //也是返回当前数据,返回的是数据对象:列名和值:第一次调用是返回的第一个数据对象,再一次是第二个数据对象, fetch_row(); //返回当前这条数据,返回的是索引数组 |
例如:(1)
1 | $sql = "select * from student" ; //sql语句<br>$result = $db->qurey($sql); //执行sql语句<br>$attr = $result->fetch_all(); //返回的是二维数组的索引数组<br>var_dump($attr); |
(2)
1 | $attr = $result ->fetch_array(); //返回的是一维数组,而且是当前的一条数据,在执行一遍就是下一条数据,默认是索引和关联都有 |
(3)
1 | $attr = $result ->fetch_assoc(); //也是返回当前的一条数据,一维的关联数组,执行第二次也是下一条数据 |
(4)
1 | $attr = $result ->fetch_object(); //返回的是当前数据的对象,列和值,也是执行下一次就是下一条数据对象 |
(5)
1 | $attr = $result ->fetch_row(); //返回的索引数组,也是当前的一条数据 |
想要显示表中的整个内容:这些方法具体怎么用:用all方法的时候可以用foreach循环遍历,如果只是显示一条数据的方法可以用while来循环
1 2 3 4 5 | $attr = $result ->fetch_all(); foreach ( $attr as $v ) { echo "<div>{$v[0]}--{$v[1]}--{$v[2]}--{$v[3]}--{$v[4]}</div>" ; } |
1 2 3 4 | while ( $attr = $result ->fetch_row()) { echo "<div>{$attr[0]}--{$attr[1]}--{$attr[2]}--{$attr[3]}--{$attr[4]}</div>" ; } |
这两个方法的结果都是一样的,不一样的是针对方法不同,所使用的循环不一样
另外要注意的是:
1.无论查的结果是什么,就会返回二维数组
1 2 3 4 | $sql = "select cno from course where cno='3-105'" ; $result = $db ->query( $sql ); $attr = $result ->fetch_all(); var_dump( $attr ); |
2.增删改的语句,返回的结果是false和true(成功是true,否则就是false)
1 2 3 | $sql = "insert into student values('3-107','数学','567','329','23y9')" ; $result = $db ->query( $sql ); var_dump( $result ); |
这就是添加成功了~~~如果在执行一次那就是不行了,因为数据库的这个表中已经有了这个数据,所以是false
转载地址:https://blog.csdn.net/sulan2131/article/details/69101151 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月11日 02时58分21秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
python - 使用sql 分析(06 - 15)国内各省GDP
2019-04-27
python - 抓取汇率数据分析美元和欧元对RMB的变化曲线
2019-04-27
python 数据科学 - 【回归分析】 ☞ 线性回归(1)
2019-04-27
python 数据科学 - 【回归分析】 ☞ 线性回归(2)
2019-04-27
python - 批量更改文件名(过滤掉某个字符串)
2019-04-27
python 数据科学 - 【分类模型】 ☞ 决策树
2019-04-27
python - zip、numpy.c 函数
2019-04-27
python 数据科学 - 【分类模型】 ☞ 逻辑回归
2019-04-27
python 数据科学 - 【分类模型】 ☞ 稳健滴 SVM 支持向量机
2019-04-27
python - selenium 处理 alert
2019-04-27
Java - Set、List、Map
2019-04-27
Java - OnlyLady Spider(HttpClient 4.5 )
2019-04-27
Math - 高斯分布(正态分布)
2019-04-27
android学习笔记----简易音乐播放器原理
2019-04-27
Unity编辑器扩展——标签属性Attribute
2019-04-27
Unity中实现拖拽操作
2019-04-27
Unity中的UGUI事件系统
2019-04-27
C#中的常量
2019-04-27
C#中的静态变量与非静态变量
2019-04-27