1,建立与数据库之间的连接 (能通过php代码执行一个SQL语句得到查询的结果)

<?php
mysqli_connect('127.0.0.1' , 'root' , ' , 'demo01');

  这里要注意两个问题:

  ①mysqli 是一个额外的扩展,如果想要使用这个扩展提供的函数,必须开启扩展 extension_dir

    在php 的配置文件里解除注释 extension=php mysqli.dll (这里特别提醒,修改php的配置文件之后可以 用 phpinfo()函数看看php的文档中有没有成功解除前面的注释添加 mysqli 这个扩展)

2,判断是否连接成功

<?php

    $connection=mysqli_connect('127.0.0.1' , 'root' , '' , 'demo01');
if(! $connection){
exit ('连接数据库失败');
}

3,基于刚刚创建的连接对象执行一次查询操作

<?php

    $connection=mysqli_connect('127.0.0.1' , 'root' , '' , 'demo01');
if(! $connection){
exit ('连接数据库失败');
} $query=mysqli_query($connection , 'select * from users;');
var_dump($query);

  得到的是一个查询对象

  

4,这个查询对象可以用来再到数据库中一行一行拿数据

<?php

$connection=mysqli_connect('127.0.0.1', 'root', '', 'demo01');

if(!$connection){
exit('<h1>连接数据库失败</h1>');
} $query=mysqli_query($connection,'select * from users'); $row=mysqli_fetch_assoc($query);
var_dump($row);

  但是只能拿到一行数据,需要多写几次这段代码才能提取出全部数据,故而涉及到循环

5,循环遍历拿数据

<?php

$connection=mysqli_connect('127.0.0.1', 'root', '', 'demo01');

if(!$connection){
exit('<h1>连接数据库失败</h1>');
} $query=mysqli_query($connection,'select * from users'); $row=mysqli_fetch_assoc($query);
while($row){
var_dump($row);
$row=mysqli_fetch_assoc($query);
}
var_dump($row);

6, 模仿 js 中的 判断,优化循环语句

<?php

$connection=mysqli_connect('127.0.0.1', 'root', '', 'demo01');

if(!$connection){
exit('<h1>连接数据库失败</h1>');
} $query=mysqli_query($connection,'select * from users');
while ($row=mysqli_fetch_assoc($query)) {
var_dump($row);
}

7,判断查询失败提示 以及 释放查询结果集、炸桥(关闭连接)

<?php
$connection = mysqli_connect('127.0.0.1' , 'root' , '' , 'demo01' );
if(!$connection){
exit ('连接数据库失败');
} $query=mysqli_query($connection , 'select * from users') ;
if(!$query){
exit('查询失败');
} //遍历结果集
while($row = mysqli_fetch_assoc($query)) {
var_dump($row);
} //释放查询结果集
mysqli_free_result($query);
//炸桥、关闭连接
mysqli_close($connection);

8,增删改数据的查询语句

<?php

$connection=mysqli_connect('127.0.0.1', 'root', '123456', 'demo01');

if(!$connection){
exit('<h1>连接数据库失败</h1>');
} $query = mysqli_query($connection,'delete from users where id=3;'); //基于刚刚创建的连接对象执行一次查询操作
if(!$query){
exit('查询失败');
} //如何拿到受影响行
$rowsAccepted = mysqli_affected_rows($connection); //传入的一定是连接对象
var_dump($rowsAccepted); mysqli_close($connection); //炸桥,关闭连接

9,PHP中查询数据的编码问题

<?hphp

    $connection=mysqli_connect('127.0.0.1' , 'root' , '' , 'demo01');
mysqli_set_charset($connection, ' utf8 '); //必须在查询对象之前,必须传入连接对象和编码
    //或是 mysqli_query($connection, 'set names utf8;');

if(!connection){
exit('连接数据库失败');
} $query=mysqli_query($connection, 'select*from users');
if(!query){
exit('查询失败');
} while($row=mysqli_fetch_assor($query)){
var_dump($row);
} mysqli_free_result($query);
mysqli_close($connection);

最新文章

  1. 【WCF】基址与默认终结点
  2. Smart Tag——DevExpress WPF初探
  3. HTTP 2.0与HTTP 1.1区别
  4. uml 推荐文章
  5. 关于 UICollectionViewCell 的一些陷阱
  6. Python之ftplib模块
  7. ScrollView与TableView实现选择效果
  8. malloc calloc realloc,new区别联系以及什么时候用
  9. linux云计算集群架构学习笔记:命令查看文件内容
  10. 快速使用Log4Cpp
  11. ListView优化分页优化
  12. AD学习笔记----PCB设计
  13. MongoDB存储时间
  14. Andorid Binder进程间通信---Binder本地对象,实体对象,引用对象,代理对象的引用计数
  15. hdu1107武术(模拟题)
  16. C#中string和byte[]相互转换问题解决
  17. 利用Lua读写本地文件
  18. MongoDB学习(操作集合中的文档)
  19. [Swift]LeetCode265.粉刷房子 II $ Paint House II
  20. net core体系-web应用程序-4asp.net core2.0 项目实战(任务管理系统)-2项目搭建

热门文章

  1. Hibernate3映射数据类型
  2. Oracle CDC (Change Data Capture)更新数据捕获——Asynchronous HotLog Mode(附带简单的kettle任务实现数据同步)
  3. 通过反射将一个java对象的属性值转换为一个Map
  4. web.config 配置无后缀文本的访问
  5. 星际争霸,FF反作弊对战平台
  6. Java泛型(7):无界通配符&lt;?&gt;
  7. 软件开发的SOLID原则
  8. GitHub开源史上最大规模中文知识图谱
  9. Cpython全局解释器锁原理剖析
  10. django中的Form和ModelForm中的问题