连接数据库的八大步骤
 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. python基本语法-函数与异常

    # -*- coding: utf-8 -*- #自定义函数 ''' def functionname( parameters ): "函数_文档字符串" function_sui ...

  2. NUMBER_GET_NEXT 获取编号 遇到关于按年度编号的问题

    最近给财务做了一个平台,在系统创建一些特殊类型的合同,需要生成合同编号:财务要求 合同类型+公司代码 +年+三位流水号, eg:CP6008-2017001 SNRO 子对象数据元素就是 公司代码 不 ...

  3. hdu2612 Find a way BFS

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2612 思路: 裸的BFS,对于Y,M分别进行BFS,求出其分别到达各个点的最小时间: 然后对于@的点, ...

  4. Java IO详解(六)------序列化与反序列化(对象流)

    File 类的介绍:http://www.cnblogs.com/ysocean/p/6851878.html Java IO 流的分类介绍:http://www.cnblogs.com/ysocea ...

  5. jQuery使用记录

    jQuery方法获得的集合为类数组对象,可以用一些数组的方法.集合里面的元素为DOM元素,不是jQuery对象. jQuery设置css3属性的兼容性写法: $(element).css({ &quo ...

  6. Ultimus BPM 通信和运营商行业应用解决方案

    Ultimus BPM 通信和运营商行业应用解决方案 行业应用需求 电信运营商的主要职能是维护庞大的通信网络和向电信用户提供固话通讯.手机通讯.数据通讯及相关的附加增值服务,其组织特点是工种多.分工细 ...

  7. OpenCV探索之路(十四):绘制点、直线、几何图形

    绘制点和圆 void cvCircle( CvArr* img, CvPoint center, int radius, CvScalar color, int thickness=1, int li ...

  8. 《JAVA与模式》之命令模式

    在阎宏博士的<JAVA与模式>一书中开头是这样描述命令(Command)模式的: 命令模式属于对象的行为模式.命令模式又称为行动(Action)模式或交易(Transaction)模式. ...

  9. javaWeb学习总结(6)- 会话之cookie技术

    什么是会话? 在日常生活中,从拨通电话到挂断电话之间的一连串的你问我答的过程就是一个会话. 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为 ...

  10. kafka 自定义分区器

    package cn.xiaojf.kafka.producer; import org.apache.kafka.clients.producer.Partitioner; import org.a ...