前言:在我们之前学习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. 如何简单实现接口自动化测试(基于 python) 原博主地址https://blog.csdn.net/gitchat/article/details/77849725

    如何简单实现接口自动化测试(基于 python) 2017年09月05日 11:52:25 阅读数:9904 GitChat 作者:饿了么技术社区 原文:如何简单实现接口自动化测试(基于 python ...

  2. vsftpd 安装与配置

    下载安装vsftpd服务,db4用来支持文件数据库yum install -y vsftpd db4-utils ftp 建立宿主用户 vsftpduseradd -s /sbin/nologin - ...

  3. nagios 配置 check_traffic 流量监控模块(被监控端)

    安装软件包yum -y install net-snmp*chkconfig nrpe onchkconfig snmpd on 使用SCP命令拷贝 check_traffic.sh 到 / usr/ ...

  4. 洛谷AT2342 Train Service Planning(思维,动态规划,珂朵莉树)

    洛谷题目传送门 神仙思维题还是要写点东西才好. 建立数学模型 这种很抽象的东西没有式子描述一下显然是下不了手的. 因为任何位置都以\(k\)为周期,所以我们只用关心一个周期,也就是以下数都在膜\(k\ ...

  5. Hdoj 1176.免费馅饼 题解

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

  6. Hdoj 2045.不容易系列之(3)—— LELE的RPG难题 题解

    Problem Description 人称"AC女之杀手"的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多"Cole"(LELE的粉丝,即"可乐 ...

  7. IHttpHandler处理请求api

    使用IHttpHandler处理请求,实现webapi功能. 研究asp.net管道处理事件后,可用此法实现webapi功能. 测试环境 VS2017 WIN10 IIS10 集成模式 关键接口类两个 ...

  8. 【linux】/dev/null作用和/dev/random

    一.  /dev/null /dev/null属于字符特殊文件,它属于空设备,是一个特殊的设备文件,它会丢弃一切写入其中的数据,写入它的内容都会永远丢失,而且没有任何可以读取的内容. 我们用file命 ...

  9. Typescript学习笔记(一)基础类型

    为了面向ng2和前端未来,开始搞向ts,ts是微软出的一枚语言,作为es6的超集,他出的一些特性还是蛮好用的(略坑).对于我等纯前端(从开始就接触javascript)的人来说,真想说,这特么什么鬼. ...

  10. webpack入门(七) API in LOADERS

    介绍 loaders允许你用require() 预处理文件(preprocess files)或者加载他们,在其他的构建工具中,loaders就是一种像“任务(tasks)”的东西.他提供了一种处理前 ...