一 实例化pdo对象

$dsn = "mysql:dbname=test;host=127.0.0.1";
$pdo = new PDO($dsn,'root','root');

二 数据查询

1、如果不根据用户传过来的值进行操作,可以直接query sql

$dsn = "mysql:dbname=test;host=127.0.0.1";
$pdo = new PDO($dsn,'root','root');
$sql = "select * from student";
$stmt = $pdo->query($sql);
var_dump($stmt->fetchAll(2));

数据是可以正常显示的

array (size=39)0 => array (size=8)'id' =>  '1' (length=1)'name' =>  '周更生' (length=9)'sex' =>  '男' (length=3)'age' =>  '24' (length=2)'edu' =>  '大专' (length=6)'salary' =>  '5000.00' (length=7)'bonus' =>  '200.00' (length=6)'city' =>  '山东省' (length=9)1 => array (size=8)'id' =>  '2' (length=1)'name' =>  '王小平' (length=9)'sex' =>  '男' (length=3)'age' =>  '28' (length=2)'edu' =>  '大专' (length=6)'salary' =>  '500.00' (length=6)'bonus' =>  '200.00' (length=6)'city' =>  '陕西省' (length=9)2 => array (size=8)'id' =>  '3' (length=1)'name' =>  '周改娟' (length=9)'sex' =>  '女' (length=3)'age' =>  '28' (length=2)'edu' =>  '大专' (length=6)'salary' =>  '8000.00' (length=7)... (size=39)0 => array (size=8)'id' =>  '1' (length=1)'name' =>  '周更生' (length=9)'sex' =>  '男' (length=3)'age' =>  '24' (length=2)'edu' =>  '大专' (length=6)'salary' =>  '5000.00' (length=7)'bonus' =>  '200.00' (length=6)'city' =>  '山东省' (length=9)1 => array (size=8)'id' =>  '2' (length=1)'name' =>  '王小平' (length=9)'sex' =>  '男' (length=3)'age' =>  '28' (length=2)'edu' =>  '大专' (length=6)'salary' =>  '500.00' (length=6)'bonus' =>  '200.00' (length=6)'city' =>  '陕西省' (length=9)2 => array (size=8)'id' =>  '3' (length=1)'name' =>  '周改娟' (length=9)'sex' =>  '女' (length=3)'age' =>  '28' (length=2)'edu' =>  '大专' (length=6)'salary' =>  '8000.00' (length=7)...

2、sql中带变量进行查询

$id = 5;
$pdo = new \PDO('mysql:host=127.0.0.1;dbname=test','root','123456');
//查询操作
$stmt = $pdo->query("select * from user where id ='{$id}' limit 1");
$data = $stmt->fetch(2);
var_dump($data);

3、 如果是根据用户传过来的值进行查询,为了防止sql注入,就需要预处理之后再进行查询

$dsn = "mysql:dbname=test;host=127.0.0.1";
$pdo = new PDO($dsn,'root','root');
$name = '孙娟';//这里的$name是接收用户传过来的值,这里我们为了简洁,直接定位
$sql = "select * from student where name=:name";
$stmt = $pdo->prepare($sql);
$stmt->execute(array('name'=>$name));
var_dump($stmt->fetch(2));

结果同样可以正常信息显示:

array (size=8)'id' =>  '6' (length=1)'name' =>  '孙娟' (length=6)'sex' =>  '女' (length=3)'age' =>  '24' (length=2)'edu' =>  '大本' (length=6)'salary' =>  '12300.00' (length=8)'bonus' =>  '1080.00' (length=7)'city' =>  '北京市' (length=9) (size=8)'id' =>  '6' (length=1)'name' =>  '孙娟' (length=6)'sex' =>  '女' (length=3)'age' =>  '24' (length=2)'edu' =>  '大本' (length=6)'salary' =>  '12300.00' (length=8)'bonus' =>  '1080.00' (length=7)'city' =>  '北京市' (length=9)

三 我们需要知道的连接mysql数据库的三种方式及区别

1、pdo

pdo操作mysql数据库虽然效率相较于mysqli会稍微低了一点点,但胜在扩展性强,以后换数据库可以很方便的进行迁移,代码几乎不用改动,所以极其推荐使用pdo连接操作数据库

2、mysqli

mysqli同样可以实现连接并操作mysql数据库,同样和pdo一样,也支持预处理,并且单纯从效率上来说,好像还比pdo稍微好了那么一点,但缺点是它只能连接mysql数据库,扩展性太差,一旦以后更换数据库,很多代码都需要重写

3、mysql

mysql直接连接数据库,现在官方都把mysql函数废弃了,你还在执着吗? 第一它只支持mysql数据库,可扩展性太差.第二,不支持预处理,安全问题堪忧,所以,千万不要使用mysql连接数据库方式,改用pdo或者mysqli吧

想了解更多可参考 https://www.helloweba.net/php/573.html

pdo连接mysql数据库(简洁明了)相关推荐

  1. PDO连接MySql数据库

    PDO:PHP数据对象,是一个PHP扩展,定义了了访问数据库的统一接口. PDO提供了一个数据库访问抽象层,通过PDO可以用相同的函数访问不同的数据库. PDO连接数据库的实例: <?php$d ...

  2. php使用pdo操作mysql数据库实例_php5使用pdo连接数据库实例

    本文为大家介绍下php pdo的用法. 一,pdo简介 pdo(php data object) 是php 5 中加入的东西,是php 5新加入的一个重大功能,因为在php 5以前的php4/php3 ...

  3. php类模块引擎PDO操作MySQL数据库简单阐述

    PDO是什么呢? 通俗说就是别人写的一个"数据库操作工具类",它非常强大,可以应对市面上几乎所有主流数据库, 具体应用时候有这样一个关系: 即,要操作某种数据,就得去"打 ...

  4. vb 通过php连接mysql数据库连接_PHP连接MySQL数据库的几种方法

    1.最简单的方式-mysql(面向过程) $con = mysql_connect("localhost","root","password" ...

  5. PHP连接MySQL数据库的几种方法

    1.最简单的方式-mysql(面向过程) <?php $con = mysql_connect("localhost","root","pass ...

  6. pdo连接mysql 注入_使用PDO查询mysql避免SQL注入

    使用传统的 mysql_connect .mysql_query方法来连接查询数据库时,如果过滤不严紧,就有SQL注入风险.虽然可以用mysql_real_escape_string()函数过滤用户提 ...

  7. pdo sqlite_ sqlite2 pdo_mysql_PHP数据库连接篇,PDO连接sqlite数据库,Sqlite安装使用说明!(PHP+Sqlite2和PHP+Sqlite3)...

    PHP+Sqlite2和PHP+Sqlite3 PHP数据库连接篇,PDO连接sqlite数据库,Sqlite安装使用说明! SQLite是一种轻量级的关系型数据库,可以内嵌在我们的应用程序中一起发布 ...

  8. php pdo 与对比mysql,php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例...

    php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例 本文实例讲述了php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率.分享给大家供大家参考,具体如下: ...

  9. zend framework mysql_Zend Framework连接Mysql数据库实例分析

    这篇文章主要介绍了Zend Framework连接Mysql数据库的方法,以完整实例形式分析了Zend Framework连接MySQL数据库的具体步骤与相关实现技巧,需要的朋友可以参考下 本文实例讲 ...

最新文章

  1. SQL判断是否存在,还在用 count 操作?试试这条 SQL 语句,性能杠杠的!
  2. tm1650中文资料_TM1616,TM1650,TM1651 SOP16原厂直销,技术支持
  3. scala中处理json数据
  4. python 文件按行读写
  5. python37从零开始学_从零开始学Python【37】--朴素贝叶斯模型(理论部分)
  6. 一些常用算法 练手的的代码
  7. Python随机梯度下降法(三)
  8. 利用ObjectMapper进行对象与JSON互相转化
  9. 给定一个介于0到1之间的实数(如0.625),打印他的二进制表示
  10. node.js 实现udp传输_nodejs实现UDP组播示例方法
  11. mac安装教程 sqlyog_Mac开发环境配置:Homebrew的安装
  12. Python 标准库 xml 详解
  13. Tkinter 学习笔记
  14. 遵循学术规范,避免学术不端
  15. 内存颗粒位宽和容量_DDR4内存颗粒--美光篇
  16. 【BZOJ1014】【JSOI2008】火星人prefix Splay处理区间,hash+dichotomy(二分)check出解
  17. 二维码扫描+长按识别二维码demo
  18. Sparql与sql的比较
  19. 蓝桥杯:约数个数(C++)
  20. HTTP响应头使用X-Content-Options、X-XSS-Protection、X-Frame-Options

热门文章

  1. 基础排序算法 – 冒泡排序Bubble sort
  2. TreeView控件应用--访问文件或文件夹(一)
  3. ASP.NET Core 6.0对热重载的支持
  4. .NET6中关于Minimal API的简单使用
  5. 初识MASA Blazor
  6. 五个 .NET 性能小贴士
  7. C#中Lock的秘密
  8. 教你如何用Harbor 私有镜像仓库搭建
  9. 池化对象 RecyclableMemoryStream 在 .netcore 中的使用
  10. 临近年关,发生两起磁盘占满引发的服务下线故障