连接数据库的八大步骤
 Step1:链接数据库 mysqli_connect()
     参数:   ①主机地址
                   ②mysql用户名
                  ③mysql密码
                  ④选择连接的数据库
                  ⑤端口号
返回:如果连接成功,返回资源类型的标志符号;如果连接失败,返回false。
  如果我们与mysql建立的连接不只一条,那么以后操作数据库的各种函数都必须传入返回的连接符号;
  如果我们与mysql建立的连接只有一条,那么以后操作数据库的各种函数就不必传入这个标识符号。建议都传入。
密码为空可以省略密码 $conn = mysqli_connect("localhost", "root");
$conn = mysqli_connect("localhost", "root", "", "mydb");
var_dump($conn);
  Step2:检测数据库连接是否成功?
   mysqli_connect_errno()与 mysqli_connect_error()
   mysqli_connect_errno(); 返回上次连接数据库错误的错误号,连接成功返回0
   mysqli_connect_error(); 返回上次连接数据库的错误信息
if(mysqli_connect_errno($conn)){
die("数据库连接失败!失败信息:".mysqli_connect_error($conn));
   前面两步合并的写法(Step1+Step2):连接数据库同时判断
$conn = mysqli_connect("localhost", "root", "", "mydb") or die("数据库连接失败!失败信息:".mysqli_connect_error($conn));
  Step3:选择数据库 mysqli_select_db($link,$dbname)
  参数:①标识符 ②连接数据库名称
  连接成功,返回true;连接失败,返回false
  如果修改数据库成功,则资源标识符中的数据库就会发生变动;
  如果修改失败而没有通过代码终止操作,则后续代码可以使用原数据库继续执行
   mysqli_select_db($conn, "mydb") or die("数据库选择失败!");
  Step4:设置字符集编码格式
    mysqli_set_charset($link,$charset) 只能设置为utf8而不能是utf-8
    mysqli_set_charset($conn,"utf8") or die("数据库编码集设置失败!");
  Step5:编写sql语句
   $sql = "select * from tb1";
  Step6:执行sql语句 mysqli_query($link,$sql)
  如果是(DML)增、删、改,将返回布尔类型是否成功
  返回上一次操作时受影响的行数 mysqli_affected_rows($link)
  如果是(DQL)查询,将返回资源结果集
  返回资源结果集中的行数 mysql_num_rows($result)
   返回资源结果集中的字段数 mysql_num_fields($result)
  如果查询失败,返回false
   $res = mysqli_query($conn,$sql);
   mysqli_insert_id($conn); 执行插入语句是返回上次插入最新插入的主键ID
 Step7:解析结果集
var_dump(mysqli_fetch_array($res)); 处理结果集,返回关联数组和索引数组 不常用
参数① 需要处理的结果集
  参数② 返回哪种数组格式
MYSQL_ASSOC - 关联数组
MYSQL_NUM - 数字数组
MYSQL_BOTH - 默认。同时产生关联和数字数组
echo "<table border='1' style='border-collapse:collapse;text-align:center;width:200px;'>";
echo "<thead bgcolor='lightblue' style='color:#ffffff;'><td>ID</td><td>姓名</td><td>年龄</td><td>性别</td></thead>";
while($row =mysqli_fetch_assoc($res)){               // 返回关联数组 指针遍历 常用
echo "<tr>";
foreach($row as $value){
echo "<td>{$value}</td>";
};
echo "</tr>";
}
echo "</table>";
mysqli_data_seek($res,0); 设置结果集指针位置,此式表达复位至0
   var_dump(mysqli_fetch_object($res));
   var_dump(mysqli_fetch_row($res)); 返回索引数组
   var_dump(mysqli_fetch_object($res)); 返回对象
   var_dump(mysqli_fetch_fields($res)); 返回结果集中每一列的字段信息
Step8:关闭资源与结果集 mysqli_free_result()和mysqli_close()
    mysqli_free_result($res); //释放查询资源结果集
    mysqli_close($conn); //关闭数据库连接
 
 

在PHP中连接数据库的八大步骤的更多相关文章

  1. 完整java开发中JDBC连接数据库代码和步骤[申明:来源于网络]

    完整java开发中JDBC连接数据库代码和步骤[申明:来源于网络] 地址:http://blog.csdn.net/qq_35101189/article/details/53729720?ref=m ...

  2. Hadoop MapReduce八大步骤以及Yarn工作原理详解

    Hadoop是市面上使用最多的大数据分布式文件存储系统和分布式处理系统, 其中分为两大块分别是hdfs和MapReduce, hdfs是分布式文件存储系统, 借鉴了Google的GFS论文. MapR ...

  3. Struts2中使用Servlet API步骤

    Struts2中使用Servlet API步骤 Action类中声明request等对象 Map<String, Object> request; 获得ActionContext实例 Ac ...

  4. ASP.NET中连接数据库的各种方法

    ASP.NET中连接数据库的各种方法 连接SQL数据库的方法:(一).在Web.Config中创建连接字符串:1.<add name="ConnectionString" c ...

  5. OpenStack中部署glance的步骤

    OpenStack中部署glance的步骤(基于Ubuntu14.04系统) author:headsen  chen   2017-10-13   08:34:35 个人原创,转载请注明作者,出处, ...

  6. VS2013中编译openssl的步骤和使用设置

    一.VS2013中编译openssl的步骤 版本号:openssl-1.0.1e 1.下载 OpenSSL http://www.openssl.org/,并解压到d:\openssl-1.0.1e目 ...

  7. Eclipse中SVN的安装步骤(两种)和使用方法

    Eclipse中SVN的安装步骤(两种)和使用方法 一.给Eclipse安装SVN,最常见的有两种方式:手动方式和使用安装向导方式.具体步骤如下: 方式一:手动安装 1.下载最新的Eclipse,我的 ...

  8. Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?

    Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别? Java 中访问数据库的步骤 1)注册驱动: 2)建立连接: 3)创建Statement: 4)执 ...

  9. Eclipse中配置SVN(步骤简述)

    ————Eclipse中配置SVN(步骤简述)———— 1.有客户端(tortoiseSVN),服务器端(visualSVN) 两种,根据需要安装,安装后需重启电脑 2.服务器端配置:创建版本库(放工 ...

随机推荐

  1. 576. Out of Boundary Paths

    Problem statement: There is an m by n grid with a ball. Given the start coordinate (i,j) of the ball ...

  2. php实现‘浏览记录’按日期分组

    出题:现有测试数据如下,要求实现如下图中的效果: array(4) { [0] => array(6) { ["visit_id"] => int(127) [&quo ...

  3. 用ajax判断用户是否已存在?----2017-05-12

    首先在用ajax之前,先说一下JSON: JSON:javascript object notation   js对象标记 对于json,我们只需要知道如何定义json?如何输出?怎么遍历? 1.定义 ...

  4. poj3067 Japan 树状数组求逆序对

    题目链接:http://poj.org/problem?id=3067 题目就是让我们求连线后交点的个数 很容易想到将左端点从小到大排序,如果左端点相同则右端点从小到大排序 那么答案即为逆序对的个数 ...

  5. [笔记]scanf的使用(主要是针对char)

    学的是C++,用cin cout也用的很顺溜,写自己的类时重载"<<"与">>"运算符也很爽,但是发现在刷算法竞赛题时,cin cout ...

  6. jQuery操作之效果

    jQuery操作之效果 效果操作一共分五类:1.基本,2.滑动,3.淡入淡出,4.自定义,5.设置 show(),hide(),toggle() 代码如下: html代码: <p style=& ...

  7. 把ipad作为电脑的第二显示器

    需要:1,iPad          2,ios端需要软件idisplay(在pp助手里搜索idisplay下载即可)       3,windows需要软件iDisplay(链接http://www ...

  8. 前端设计技巧——用 Promise 处理交互和异步

    本文仅表达前端的一些设计技巧,如果您在查阅js技术,请忽略此文! 前端开发经常会遇到这样的场景: 当满足一定条件时,需要弹出一个模态框,以便接收用户的输入.然后根据不同的输入,进行不用的操作. (ps ...

  9. OpenStack dashboard界面操作 实现登陆虚拟机并通信

    1.创建项目,点击"创建项目" (1).填写项目信息 (2).添加与之关联的项目成员 (3).点击"配额",为用户在平台上分配一个操作的空间,便于用户创建网络, ...

  10. 一个IT人员实用的工具:Tmux

    1.Tmux安装 tmux下载地址: http://sourceforge.net/projects/tmux/files/tmux/tmux-1.6/tmux-1.6.tar.gz/download ...