前言:在我们之前学习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. zookeeper部署

    版本:zookeeper-3.4.5-cdh5.10.0.tar.gz 网址:http://archive-primary.cloudera.com/cdh5/cdh/5/ 1. 解压 $ tar - ...

  2. Luogu P1648 看守

    Luogu P1648 看守 题意简述 有n个d维的点,输出这些点两两之间曼哈顿距离中的最大值 数据范围 n<=1e6,d<=4 思路 暴力?时间复杂度O(\(n^2d\)) 考虑这样的一 ...

  3. 从Java的角度修复CSRF漏洞

    漏洞挖掘中,说实话挖过最多的漏洞就属CSRF漏洞了,提交CSRF漏洞很多次,绕过CSRF防御进行攻击也有很多次.CSRF漏洞是一个很容易引发的问题,今天我从Java的角度来说下这个安全漏洞的修复方案. ...

  4. hihocoder--1384 -- Genius ACM (倍增 归并)

    题目链接 1384 -- Genius ACM 给定一个整数 m,对于任意一个整数集合 S,定义“校验值”如下:从集合 S 中取出 m 对数(即 2*M 个数,不能重复使用集合中的数,如果 S 中的整 ...

  5. 最全面的 Spring 学习笔记

    http://www.codeceo.com/article/learn-spring.html 来源:泊浮目 分享到:更多36 Spring致力于提供一种方法管理你的业务对象.在大量Java EE的 ...

  6. C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码

    本文介绍在 C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码.网上文章大多只是简单介绍内置参数的设置,根据我的使用目的,增加了自定义目标二维码图片尺寸和白边 ...

  7. (六)Oracle 的 oracle表查询关键字

    参考:http://www.hechaku.com/Oracle/oracle_tables2.html 1.使用逻辑操作符号问题:查询工资高于500或者是岗位为manager的雇员,同时还要满足他们 ...

  8. Gym - 101755G Underpalindromity (树状数组)

    Let us call underpalindromity of array b of length k the minimal number of times one need to increme ...

  9. please select android sdk

  10. ArrayList、LinkList、Vector的区别

    ArrayList.LinkedList和Vector均实现了List接口,均为可伸缩数组(均为可动态改变长度的数组).它们是有序的集合,并且其中的元素允许重复. 从底层实现来看: (1)ArrayL ...