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);

用php连接数据库,并执行数据库操作的更多相关文章

  1. Docker for Windows(五)实践搭建SqlServer服务&执行数据库操作

    上一篇我们已经搭建了一个mysql数据库服务了:Docker for Windows(四)实践搭建&删除MySQL服务,发现用Docker确实是方便且容易,但上一篇主要是服务的搭建删除等基础操 ...

  2. Spring学习总结(16)——Spring AOP实现执行数据库操作前根据业务来动态切换数据源

    深刻讨论为什么要读写分离? 为了服务器承载更多的用户?提升了网站的响应速度?分摊数据库服务器的压力?就是为了双机热备又不想浪费备份服务器?上面这些回答,我认为都不是错误的,但也都不是完全正确的.「读写 ...

  3. mysql在cmd命令下执行数据库操作

    windows+r 运行cmd命令,执行以下操作! 当mysql 数据库文件相对于来说比较大的时候,这个时候你可能在正常环境下的mysql中是导入不进去的,因为mysql数据库本身就有默认的导入文件大 ...

  4. python 学习笔记十六 django深入学习一 路由系统,模板,admin,数据库操作

    django 请求流程图 django 路由系统 在django中我们可以通过定义urls,让不同的url路由到不同的处理函数 from . import views urlpatterns = [ ...

  5. Java通过JDBC 进行MySQL数据库操作

    转自: http://blog.csdn.net/tobetheender/article/details/52772157 Java通过JDBC 进行MySQL数据库操作 原创 2016年10月10 ...

  6. 3、PHP中常用的数据库操作函数解析

    mysql_connect  连接数据库 mysql_select_db 选择需要操作的数据库 mysql_query 执行数据库操作语句 mysql_fetch_array 以数组的形式返回每行查询 ...

  7. 一个数据库操作类,适用于Oracle,ACCESS,SQLSERVER

    最近做了一个数据诊断的项目,里面自己写了一个数据库的操作类,包含:连接数据库.读数据表.执行SQL操作,释放数据库等组成,希望对大家有用,由于水平有限,若有错误或者代码不足地方欢迎指正,谢谢. ADO ...

  8. c# 数据库操作学习

    一. 如何处理数据库连接 1. 数据库连接可以分为“物理连接”和“逻辑连接”(默认使用连接池的情况下Pooling=true): 物理连接:创建数据库连接时,默认会有一定数量的物理连接(默认Min P ...

  9. php连接到数据库操作

    <?php $result = mysql_query($sql); while($row = mysql_fetch_array($result)) { ?> 要写的内容代码,比如说Ht ...

随机推荐

  1. linux 下项目的发布

    [wangq10@VM000001865 logs]$ [wangq10@VM000001865 ~]$ ls[wangq10@VM000001865 logs]$ apache-tomcat-7.0 ...

  2. Linux CentOS 7修改内核启动默认顺序

    1.查看系统有几个内核 a.进入grub2.cfg文件中进行查看 b.通过grub界面查看 3.设置默认启动内核 grub2-set-default "内核版本" 配置默认内核4. ...

  3. 定位上下文(补充css的position属性)

    ]把元素的position属性设定为relative.absolute或fixed后,继而可以使用TRBL属性,相对于另一个元素移动该元素的位置.这里的“另一个元素”,就是该元素的定位上下文. 绝对定 ...

  4. [jquery]JSON.parse()与JSON.stringify()

    JSON.parse()[从一个字符串中解析出json对象] 例子: //定义一个字符串 var data='{"name":"goatling"}' //解析 ...

  5. 通过Xshell 执行压缩.zip文件出现unzip: command not found错误的解决办法

    利用unzip命令解压缩的时候,出现 -bash: unzip: command not found 的错误. unzip——命令没有找到,其原因肯定是没有安装unzip. 利用一句命令就可以解决了. ...

  6. Linux系统管理_主题02 :管好文件(1)_2.1 切换、创建和删除目录_cd_mkdir_rmdir

    用法:cd [目录路径] 变换工作目录至制定目录路径,若[目录路径]参数省略则变换至使用者的 家目录, 其中[目录路径]可为绝对路径或相对路径 另外 "~" 在 Bash 中表示当 ...

  7. CORS,jsonp解决跨域问题

    同源和跨域 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础之上 ...

  8. Linux(CentOS)下安装tesseract-ocr以及配置依赖leptonica

    下载 wget https://github.com/tesseract-ocr/tesseract/archive/4.1.0.tar.gz wget http://www.leptonica.or ...

  9. 两表拼接 pd.concat

    a = pd.DataFrame([[1,2,3], [4,5,6], [7,8,9]],columns=['a','b','c']) b = pd.DataFrame([[11,23,45], [2 ...

  10. 【VS开发】【Live555-rtsp】RTSP服务器实例live555源代码分析

    原文地址:RTSP服务器实例live555源代码分析作者:mozheer 1. RTSP连接的建立过程 RTSPServer类用于构建一个RTSP服务器,该类同时在其内部定义了一个RTSPClient ...