前言:在我们之前学习sql语句的时候都是停留在黑窗口的,怎样才能让mysql与程序代码发生联系呢?此时PDO和Mysqli应运而生,为了解决这个问题

(一)开启其中(pdo或者mysqli)的php扩展

我使用的是phpStudy因此开启扩展比较方便(注意需要重启),此时写一段程序输出phpinfo() 你可以查看是否安装成功

看到这两个就是表示成功了!

(二)连接数据库

mysqli连接数据库的方法:

  $dsn = mysqli_connect(数据库ip地址,  帐号,  密码,  默认选择的数据库)

  mysqli_set_charset(mysqli连接,  字符集编码)

  这两步最好同时进行,此时已经完成了连接如果你连接失败你可以用mysqli_connect_error($con)这个函数会抛出错误的具体的信息

pdo连接数据库的方法(操作):

  // 数据库类型:host=IP地址;port=端口号;charset=字符集;dbname=数据库名

  $dsn = 'mysql:host=localhost;port=3306;charset=utf8;dbname=test';
  $pdo = new PDO($dsn, 'root', '123abc');

(三)操作数据库的增删改查

mysqli操作数据库的增删改:

  //$sql = sql语句;

  mysqli_query(mysqli连接(上面的$dsn),  sql语句);//操作成功会返回对应的布尔值

  查操作:

    $dsn = mysqli_query(mysqli连接,  sql语句)

    mysqli_fetch_assoc($dsn)[1.每次获取一条数据2.以字段名下标的关联数组]

    mysqli_fetch_row($dsn)[1.每次获取一条数据2.获取的是索引下标的数组]

    mysqli_fetch_all(结果集[, 数组形态]) 数组形态可指定MYSQLI_ASSOC、MYSQLI_NUM(默认值)或MYSQLI_BOTH [1获取的是多条数据,2可以指定的类型]

pdo操作数据库的增删改:

  $sql = 'insert into cz_user values (null, "袁崇焕", "abcdefg", "ych@admin.com")';

  $re = $pdo->exec($sql);//操作成功会返回对应的布尔值

  查操作:

    $dsn = $pdo->query(SQL语句) 执行查询操作SQL语句

    fetch(解析类型[ ,PDO::FETCH_ASSOC][,PDO::FETCH_NUM][,PDO::FETCH_BOTH]) 一次解析一行数据()

    fetchAll(解析类型[ ,PDO::FETCH_ASSOC][,PDO::FETCH_NUM][,PDO::FETCH_BOTH]) 一次性解析所有数据

以上是能够满足日常的增删改查的简单如果还需要别的操作这两个扩展也是提供了很丰富的方法从手册查看吧.

    

谈谈关于PHP连接数据库的两种方法(PDO&Mysqli)的更多相关文章

  1. Qt连接数据库的两种方法

    我曾经想过,无论在哪个平台下开发,都不要再接触SQL Server了,但显然不行.我们是来看世界的,不是来改变世界的,想通就好. 前两天,尝试了一下Qt下远程访问数据库.在macOS下,用Qt 5.1 ...

  2. MySQL之连接数据库的两种方法

    方法一: package DB; import java.sql.Connection; import java.sql.DriverManager; public class Conn { // 定 ...

  3. java连接数据库的两种方法总结

    方法一:使用jdbc-odbc桥连接sql server,作为中间媒介连接数据库 1.配置数据源:打开控制面版->管理工具->数据源(ODBC)->选用户DSN,按下添加按钮-> ...

  4. SQLServer 批量插入数据的两种方法

    SQLServer 批量插入数据的两种方法-发布:dxy 字体:[增加 减小] 类型:转载 在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Ins ...

  5. DataGridView显示数据的两种方法

    1.简介 DataGridView空间是我们经常使用的显示数据的控件,它有极高的可配置性和可扩展性. 2.显示数据 DataGridView显示数据一般我们经常使用的有两种方法,一种是直接设置Data ...

  6. C++连接mysql数据库的两种方法

    本文主要介绍了C++连接mysql数据库的两种方法,希望通过本文,能对你有所帮助,一起来看. 现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用a ...

  7. PHP中对用户身份认证实现两种方法

    用户在设计和维护站点的时候,经常需要限制对某些重要文件或信息的访问.通常,我们可以采用内置于WEB服务器的基于HTTP协议的用户身份验证机制.     当访问者浏览受保护页面时,客户端浏览器会弹出对话 ...

  8. python学习--python 连接SQLServer数据库(两种方法)

    1. python 学习.安装教程参照: http://www.runoob.com/python/python-tutorial.html 2. 集成开发环境 JetBrains PyCharm C ...

  9. windows下获取IP地址的两种方法

    windows下获取IP地址的两种方法: 一种可以获取IPv4和IPv6,但是需要WSAStartup: 一种只能取到IPv4,但是不需要WSAStartup: 如下: 方法一:(可以获取IPv4和I ...

随机推荐

  1. Matplotlib学习---用seaborn画直方图,核密度图(histogram, kdeplot)

    由于直方图受组距(bin size)影响很大,设置不同的组距可能会产生完全不同的可视化结果.因此我们可以用密度平滑估计来更好地反映数据的真实特征.具体可参见这篇文章:https://blog.csdn ...

  2. 对Redis的理解

    1.redis使用的场景 热点数据(经常会被查询,但是不经常被修改或者删除的数据)

  3. SpringMVC的缓存对静态资源的影响 304 Not Modified

    我们知道在springmvc的配置中,可以添加缓存,但是缓存到底对静态资源有什么影响? 测试 没有添加缓存 <mvc:resources mapping="/image/**" ...

  4. PHP 公共方法分享180628

    查看php 类的详情:方法.常量.属性( type(new \Illuminate\Http\Request());) /** * fixme 打印类详情 * @param $class object ...

  5. MT【305】丹德林双球

    如图.在正方体$ABCD-A_1B_1C_1D_1$中,点$M,N$分别是直线$CD,AB$上的动点,点$P$是$\Delta A_1C_1D_1$内的动点(不包括边界),记直线$DP$与$MN$所成 ...

  6. MT【276】正切的半角公式

    若$\Delta ABC$满足:$\tan\dfrac{A}{2}\cdot\tan\dfrac{C}{2}=\dfrac{1}{3},b=\dfrac{4}{3}a$,则$\sin B=$_____ ...

  7. MT【273】2014新课标压轴题之$\ln2$的估计

    已知函数$f(x)=e^x-e^{-x}-2x$(1)讨论$f(x)$的单调性;(2)设$g(x)=f(2x)-4bf(x),$当$x>0$时,$g(x)>0,$求$b$的最大值;(3)已 ...

  8. Hdoj 1176.免费馅饼 题解

    Problem Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁 ...

  9. opencontrail-vrouter命令

    vif命令 vrouter需要vrouter接口(vif)来转发流量.使用vif命令查看vrouter已知的接口. 注意: 仅在OS(Linux)中使用接口不足以进行转发.相关接口必须添加到vrout ...

  10. [SCOI2010]幸运数字(容斥+爆搜)

    在中国,很多人都把6和8视为是幸运数字!lxhgww也这样认为,于是他定义自己的“幸运号码”是十进制表示中只包含数字6和8的那些号码,比如68,666,888都是“幸运号码”!但是这种“幸运号码”总是 ...