1. <?php
  2. //1造链接。面向对象 。方式对象方式
  3. //把对象定个名字$db
  4. //MySQLi:数据扩展类。在MySQLi里做对象()
  5. //host:代表服务器地址也叫做本机【本机服务器localhost】
  6. //username:用户名
  7. //passwd:数据库密码
  8. //dbname: 数据库名称,要操作的数据库
  9. //port:端口号3306如果默认的不用写
  10. //socket: 通过服务socket连接
  11.  
  12. $db = new MySQLi("localhost","root","511108","text");//连接对象
  13.  
  14. //2判断链接是不是出错,连接成功就什么不显示空白,可以这样用mysqli_connect_error()或者第16方法
  15. if(mysqli_connect_error())
  16. {
  17. die("连接失败!");
  18. }
    //上面是连接数据库成功了,如果运行不成功就直接返回连接失败
  1. //3准备SQL语句
  2. $sql = "select * from nation";
  3. //4把我这个3的语句执行下
  4. $result = $db->query($sql);//3的SQL语句已经执行完成 ,这条也叫结果集
  5. //5从结果集里面取数据
  6. $rattr = $result->fetch_all();//这是$result->fetch_all();返回的数据。之后把返回的数据存在变量$rattr里面。 返回的所有数据,并且以二维数组的方式存在
  7. //fetch_all代表返回所有数组
  8.  
  9. var_dump($rattr);//输出数组$attr
    下图是输出结果
  1. $db = new MySQLi("localhost","root","511108","text");
  2. if(mysqli_connect_error())
  3. {
  4. die("连接失败!");
  5. }
  6. $sql = "select * from nation";
  7. $result = $db->query($sql);
  8. $rattr = $result->fetch_all(MYSQLI_ASSOC);//这个方法有三个可选参数如下1,2,3,
  1. 9 //MYSQLI_ASSOC扔到括号里返回值就是关联数组
  1. 1MYSQLI_ASSOC返回关联数组,使用的时候不需要加双引号
  1. 2MYSQLI_NUM返回索引数组,
  1. 3MYSQLI_BOTH返回索引和关联都有的,
  2. var_dump($rattr);
    //如下图是输出结果

使用for循环如下

  1. $de = new mysqli("localhost","root","","12345");
  2. $e="select * from info";
  3. $result = $de->query($e);
  4. $atter = $result->fetch_all();
  5. for($i=0;$i<count($atter);$i++)
  6. {
  7. for($j=0;$j<count($atter[$i]);$j++)
  8. {
  9. if($j==4)
  10. {
  11. echo $atter[$i][$j]."<br>";
  12. }
  13. else
  14. {
  15. echo $atter[$i][$j]."--";
  16. }
  17. }
  18. }
  1. //1.造连接对象
  2. $db = new MySQLi("localhost","root","","12345");
  3. //2.判断连接是否出错
  4. if(mysqli_connect_error())
  5. {
  6. die("连接失败!");
  7. }
  8. $sql = "select * from info";
  9. $result = $db->query($sql);
  10. for(;$attr = $result->fetch_row();)
  11. {
  12. echo "<div>{$attr[0]}--{$attr[1]}--{$attr[2]}--{$attr[3]}--{$attr[4]}</div>";
  13. }
  1. 数据的修改
  2. //1.造连接对象
  3. $db = new MySQLi("localhost","root","123","text");
  4. //2.准备一条SQL语句
  5. $sql = "insert into nation values('n099','民族')";
  6. //3.执行SQL语句
  7. $result = $db->query($sql);
  8. //执行成功返回true,执行失败返回false
  9.  
  10. 执行后数据在MySQL中已写入,再执行会返回false
  1.  
  1.  
  1.  
  1.  
  1.  

---恢复内容结束---

用PHP访问数据库的更多相关文章

  1. C#使用ADO.NET访问数据库(一)

    博主好久没更新博客了,最近有点忙(打麻将0.0..),今天更新一篇C#的,我还是想坚持更新博客,分享一下自己的心得,闲话少说,开始正题~~ ADO.NET概述:ADO.NET的作用在于他是客户端访问服 ...

  2. Android 异步任务,通过PHP访问数据库,多线程,线程间通讯

    文章列表MainActivity.java package com.eric.asynctask; import java.io.IOException; import java.util.Array ...

  3. ADO.NET 访问数据库

    对数据库的访问时各种数据库应用程序开发的核心技术,.NET框架中提出的ADO.NET技术为应用程序的开发提供了一致的接口,增强了程序的可移植性和可扩展性. a:使用链接对象Connection连接数据 ...

  4. 如何通过JDBC访问数据库

    Java数据库连接(JDBC)用与在Java程序中实现数据库操作功能,它提供了执行SQL语句.访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口,java.sql包中包含了JDBC操作数据库 ...

  5. (转)发布Silverlight+WCF程序到IIS后,客户端访问数据库失败的解决方案

    转自url:http://greatverve.cnblogs.com/archive/2011/11/30/silverlight-wcf-pub.html 我们在编写Silverlight程序时, ...

  6. 在 Mac OS X 上创建的 .NET 命令行程序访问数据库 (使用Entity Framework 7 )

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  7. Entity FrameWork 中使用Lambda访问数据库性能优化

    在使用Entity Framework 访问数据库时,我们经常使用Lambda表达式,但是如果不小心的话,很容易就掉到坑里了.比如下面的例子:用Lambda访问MSSqlServer中的NewsInf ...

  8. sqlserver 服务器主体 无法在当前安全上下文下访问数据库

    今天使用sqlserver,发现了一个问题,就是使用 insert into 数据库名.dbo.表名(字段) values(值) 这样语句的时候,会返回错误: sqlserver 服务器主体 无法在当 ...

  9. IOS 使用FMDB多线程访问数据库 及databaseislocked的问题

    原理:文件数据库sqlite,同一时刻允许多个进程/线程读,但同一时刻只允许一个线程写.在操行写操作时,数据库文件被琐定,此时任何其他读/写操作都被阻塞,如果阻塞超过5秒钟(默认是5秒,能过重新编译s ...

  10. PHP访问数据库

    1.原生mysql方式 <?php //最原生态的访问方式,不过SQL注入是个麻烦事 $con = mysql_connect("localhost","root& ...

随机推荐

  1. 三大基础排序算法BubbleSort、SelectSort、InsertSort

    public class Strategy { public static void main(String[] args) { int [] array=new int[]{26,25,15,42, ...

  2. 第一个jemter测试脚本

    通过jmeter代理录制脚本后,会产生大量的无用的请求,尽管在代理中已经过滤了一部分图片或者CSS.JS文件. 手动查看主要的请求:这里主要关注登陆请求,要确定有效的URL请求 删除除/Login.a ...

  3. MATLAB不运行也不报错

    今天本来挺激动找到能运行的好几个程序 MATLAB忙到busy也是停不下来 本来不以为然 结果呢 吃了个水果 一杯水都喝下去了 还没结果(⊙o⊙) 这时候解决办法只有一个 Ctrl+c

  4. 绿色ip扫描工具

    ip扫描,可以扫描一下自己的局域网有多少设备在线,有没有在蹭网.优点在于:短小精悍,快速,不用安装. 其实,我自己也写过一个但是没有这个精致,感兴趣的可以一起讨论. 下载地址:32位 64位 我的淘宝 ...

  5. NY 325 zb的生日

    假设所有西瓜重 Asum,所求的是用 Asum / 2 的背包装,最多装下多少. 刚开始用贪心作的,WA.后来用01背包,结果TLE,数据太大.原来用的是深搜! dfs(int sum, int i) ...

  6. Java学习笔记(五)

    作业1:将指定目录下的所有文件显示到列表框(JList)组件中. 代码如下: import java.awt.; import java.awt.event.; import javax.swing. ...

  7. CSS中强大的EM

    (转)作者:dearjohn ,发布于2012-7-31 http://www.uml.org.cn/html/201207311.asp 使用CSS也好久了,但一直都是在使用“px”来设置Web元素 ...

  8. postfix下dovecot查收邮件连接错误

    [root@localhost ~]# telnet mail.izyno.com 110 Trying 192.168.199.133... Connected to mail.izyno.com. ...

  9. myrocks 之数据字典

    data dictionary rocksdb作为mysql的一个新的存储引擎,在存储引擎层,会维护自已的元数据信息.在innodb存储引擎中,我们通过information_schema下的INNO ...

  10. android 如何结束一个线程

    总结: 1 不推荐直接调用onstop()强制结束,,因为不安全 2 run()比较短暂,执行完毕会自动停止 3 在run()设置一个flag标识,满足条件才执行; 4 通过sleep()捕获异常,在 ...