利用PHP访问由MySQL构建的数据库

连接到数据库

//1.造连接对象
$db = new MySQLi("localhost","root","123","text"); //2.判断连接是否出错
if(mysqli_connect_error())
{
die("连接失败!");
}

准备SQL语句

$sql = "select * from info";

执行SQL语句,返回结果集对象

$result = $db->query($sql);   //执行查询语句

  

从结果集里面取数据

$attr = $result->fetch_all(); //返回所有数据,并且以二维数组的方式存在
//三个可选参数:MYSQLI_ASSOC返回关联数组,MYSQLI_NUM返回索引数组,MYSQLI_BOTH返回索引和关联都有的,使用的时候不需要加双引号

  

 var_dump($attr);   //输出结果

  

结果返回的是一个二维数组:

其他取数据语句:

//$attr = $result->fetch_array();//返回当前这条数据,返回的是一维数组,默认是索引关联都有
//$attr = $result->fetch_assoc(); //返回当前这条数据,返回的是一维关联数组
//$attr = $result->fetch_object(); //返回当前这条数据的对象
//$attr = $result->fetch_row(); //返回当前这条数据,返回的是索引数组

在页面中输出结果:

$attr = $result->fetch_all();

foreach($attr as $v)
{
echo "<div>{$v[0]}--{$v[1]}--{$v[2]}--{$v[3]}--{$v[4]}</div>";
}

  

使用while语句:

  //1.造连接对象
$db = new MySQLi("localhost","root","","12345"); //2.判断连接是否出错
if(mysqli_connect_error())
{
die("连接失败!");
}
$sql = "select * from info";
$result = $db->query($sql);
while($attr = $result->fetch_row())
{
echo "<div>{$attr[0]}--{$attr[1]}--{$attr[2]}--{$attr[3]}--{$attr[4]}</div>";
}

使用for循环:

$de = new mysqli("localhost","root","","12345");
$e="select * from info";
$result = $de->query($e);
$atter = $result->fetch_all();
for($i=0;$i<count($atter);$i++)
{
for($j=0;$j<count($atter[$i]);$j++)
{
if($j==4)
{
echo $atter[$i][$j]."<br>";
}
else
{
echo $atter[$i][$j]."--";
} }
}
//1.造连接对象
$db = new MySQLi("localhost","root","","12345"); //2.判断连接是否出错
if(mysqli_connect_error())
{
die("连接失败!");
}
$sql = "select * from info";
$result = $db->query($sql);
for(;$attr = $result->fetch_row();)
{
echo "<div>{$attr[0]}--{$attr[1]}--{$attr[2]}--{$attr[3]}--{$attr[4]}</div>";
}

  

结果与上相同。

                          数据的增删改:                        

//1.造连接对象
$db = new MySQLi("localhost","root","123","text"); //2.准备一条SQL语句
$sql = "insert into nation values('n099','民族')"; //3.执行SQL语句
$result = $db->query($sql); //执行成功返回true,执行失败返回false

执行后数据在MySQL中已写入,再执行会返回false。

 

php数据库访问及增删改的更多相关文章

  1. Android(java)学习笔记245:ContentProvider使用(银行数据库创建和增删改查的案例)

    1. Android的四大组件: (1)Activity  用户交互的UI界面 (2)Service  后台运行的服务 (3)BroadcastReceiver 广播接收者 (4)ContentPro ...

  2. Flutter数据库Sqflite之增删改查

    Flutter数据库Sqflite之增删改查   简介 sqflite是Flutter的SQLite插件,支持iOS和Android,目前官方版本是sqflite1.1.3 sqflite插件地址:h ...

  3. Android(java)学习笔记189:ContentProvider使用(银行数据库创建和增删改查的案例)

    1. Android的四大组件: (1)Activity  用户交互的UI界面 (2)Service  后台运行的服务 (3)BroadcastReceiver 广播接收者 (4)ContentPro ...

  4. Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)

    day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库:    简称:DataBase ---->DB    数据库即存放数据的仓库, ...

  5. ORM 实现数据库表的增删改查

    这次通过反射技术来实现一下数据库表的增删改查对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping) 注:引用时约束了以下几点: 数据 ...

  6. Vc数据库编程基础MySql数据库的表增删改查数据

    Vc数据库编程基础MySql数据库的表增删改查数据 一丶表操作命令 1.查看表中所有数据 select * from 表名 2.为表中所有的字段添加数据 insert into 表名( 字段1,字段2 ...

  7. 第16课-数据库开发及ado.net-数据库SQl,创建数据库和表,增删改语句,约束,top和Distinct,聚合函数介绍

    第16课-数据库开发及ado.net 数据库SQl,创建数据库和表,增删改语句,约束,top和Distinct,聚合函数介绍 SQL语句入门(脚本.命令) SQL全名是结构化查询语言(Structur ...

  8. 十四:SpringBoot-配置MongoDB数据库,实现增删改查逻辑

    SpringBoot-配置MongoDB数据库,实现增删改查逻辑 1.MongoDB数据库 1.1 MongoDB简介 1.2 MongoDB特点 2.SpringBoot整合MongoDB 2.1 ...

  9. .net 连接SqlServer数据库及基本增删改查

    一.写在前面 因为这学期选修的 .net 课程就要上机考试了,所以总结下.net 操作 SqlServer 数据的方法.(因为本人方向是 Java,所以对.net 的了解不多,但以下所写代码均是经过测 ...

随机推荐

  1. Android混合开发之WebView与Javascript交互

    前言: 最近公司的App为了加快开发效率选择了一部分功能采用H5开发,从目前市面的大部分App来讲,大致分成Native App.Web App.Hybrid App三种方式,个人觉得目前以Hybri ...

  2. Shell碎碎念

    1. 字符串如何大小写转换 str="This is a Bash Shell script." 1> tr方式 newstr=`tr '[A-Z]' '[a-z]' < ...

  3. springmvc的拦截器

    什么是拦截器                                                         java里的拦截器是动态拦截action调用的对象.它提供了一种机制可以使 ...

  4. Oracle 分页

    --1:无ORDER BY排序的写法.(效率最高) --(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!) SELECT * FROM (SELECT ...

  5. firebug不能加载JS文件 ,无法进行JS脚本调试

    提示: 本页面不包含 Javascript 如果 <script> 标签有 "type" 属性,其值应为 "text/javascript" 或者& ...

  6. BZOJ 3238: [Ahoi2013]差异 [后缀数组 单调栈]

    3238: [Ahoi2013]差异 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 2326  Solved: 1054[Submit][Status ...

  7. Aop动态生成代理类时支持带参数构造函数

    一.背景 在某些情况下,我们需要植入AOP代码的类并没有默认构造函数.那么此时动态生成的代理类也需要相同签名的构造函数,并且内部调用原始类的构造函数.自己折腾了1晚上没搞定,现在搞定了发出来供大家一起 ...

  8. linux下mono的安装与卸载

    我很遗憾的告诉你,这里没有安装,为什么标题里加入安装俩字呢,因为如果不加的话你会搜到这篇文章吗?哈哈!别气馁,这里会给你些安装的tips! 源码安装,git安装:建议安装路径如下,至于为什么,我也讲不 ...

  9. ReactNative入门(安卓)——API(下)

    LayoutAnimation - layout动画 当布局发生改变时的动画模块,它有两个方法: 1. 最常用的方法是 LayoutAnimation.configureNext(conf<Ob ...

  10. 让tomcat支持中文cookie

    这的确是一个不正常的需求,按照规范,开发者需要将cookie进行编码,因为tomcat不支持中文cookie. 但有时候,你不得不面对这样的情况,比如请求是由他人开发的软件,比如,浏览器控件发出的. ...