PDO浅谈之php连接mysql

一.首先我们先说一下什么是pdo?

百科上说
PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。PDO随PHP5.1发行,在PHP5.0的PECL扩展中也可以使用。

我个人理解:PDO是一个抽象类,为我们提供访问数据的接口方法

二.如何配置pdo

1.我的环境是:win7

编辑器:sublime text2

服务器:xampp

2.找到xampp的安装文件:找到php.ini

3.找到extension_dir 并且:extension_dir="C:/xampp/php/ext"   extension_dir等于的为ext文件的路径

4.找到Dynamic Extensions 在类似于以下写法后面添加如下:

extension=php_pdo.dll
 extension=php_pdo_mysql.dll

extension=pdo_mysql.so

如果已有以上几行代码,但前面有分号去掉即可。因为我使用的数据库是mysql,所以只配置了mysql

5.首先测试一下是否配置成功:在xampp的docs下新建文件

6.得到如下证明配置成功:

三.下面开始练习使用:

数据库配置:

封装了一个查询类:

调用方法:

在浏览器输入:http://localhost/myworkplace/phpinfo.php得到如下结果:

下面介绍一下PDO这个类提供的一些方法:

$dbh = new PDO($this->dsn, $this->username, $this->password); new一个对象

$dbh->query($sql); //查询

$dbh->beginTransaction();//开启事务

$dbh->exec("Insert INTO `test`.`table` (`name` ,`age`)VALUES (‘mick‘, 22);"); //新增

$dbh->commit();//提交事务

$dbh=null; //断开连接

这里我只封装了一个find的方法,我们可以封装很多自定义的查询方法,也可以自定义新增、删除、修改方法

当然这个路子肯定不是我自己想出来的,是参照别人代码,来仿照进行的.

以后我也会努力研究代码,一开始我只是思考去通过php去连接mysql,可是这突然成为了我写代码的瓶颈,知道java是通过jdbc去连接数据库的。然后我就开始搜集,

后来发现了pdo,也开始去了解这个东东并且消化

所以学习东西需要思考需要实践,简单的认为往往不如动手学习到的东西多

-------------小梦

时间: 2024-10-17 09:55:03

PDO浅谈之php连接mysql的相关文章

浅谈数据库--事务(mysql)

事务   事务其实是一组对数据库增删改操作的组合,可以这样来理解,当你往某个人身上打1000元的时候,在数据库中会发生两个改变,一个是你的钱减少了,另一个是那个人的钱增加了,这两个操作必须同时满足,不然问题就大了,怎样保证两个操作全部执行,这就需要mysql事务的支持. mysql是支持事务的,但首先确认你是InnoDB存储引擎 mysql事务是为了维护数据库的完整性,堆成批量的语句要么全部执行,要么全部不执行.一般用来管理insert delete 和update语句的. 事务的特点: 1.事

浅谈表的连接方式(内连接,外连接,交叉连接,自连接)

前言 连接类型分为三类:内连接,外连接,交叉连接.内连接使用INNER JOIN关键字,INNER JOIN在两个表中匹配共同的值,只有满足联结条件的行才会被用来构建结果集,INNER JOIN是默认的JOIN类型,可以仅使用JOIN关键字替代. 外连接有三种类型:LEFT OUTER JOIN,RIGHT OUTER JOIN和FULL OUTER JOIN,和INNER JOIN不同的是,LEFT OUTER JOIN也返回对第一个表不匹配的行,RIGHT OUTER JOIN也返回对第二个

浅谈SQL Server、MySQL中char,varchar,nchar,nvarchar区别

最近一次的面试中,被面试官问到varchar和nvarchar的区别,脑海里记得是定长和可变长度的区别,但却没能说出来.后来,在网上找了下网友总结的区别.在这里做个备忘录: 一,SQL Server中char,varchar,nchar,nvarchar的区别(援引:https://www.cnblogs.com/limeiky/p/5313312.html) 1,定义: char:    固定长度,存储ANSI字符,不足的补英文半角空格. nchar:   固定长度,存储Unicode字符,不

Qt::浅谈信号槽连接,参数在多线程中的使用

Qt的信号槽有五种连接方式定义在enum Qt::ConnectionType,下面简单介绍 Qt::AutoConnection:自动判断连接方式,如果信号发送对象和执行槽对象在同一线程,那么等于Qt::DirectConnection,如果不是则等于Qt::QueuedConnection Qt::DirectConnection:直接连接方式,简单说就是直接调用,信号发送会在槽函数执行完毕后返回,但前提是信号和槽的对象必须在同一线程中,否则会出现未知错误 Qt::QueuedConnect

浅谈mysql主从复制的高可用解决方案

1.熟悉几个组件(部分摘自网络)1.1.drbd     —— DRBD(Distributed Replicated Block Device),DRBD号称是 "网络 RAID",开源软件,由 LINBIT 公司开发.DRBD 实际上是一种块设备的实现,主要被用于Linux平台下的高可用(HA)方案之中.他是有内核 模块和相关程序而组成,通过网络通信来同步镜像整个设备,有点类似于一个网络RAID的功能.也就是说当你将数据写入本地的DRBD设备上的文件系统 时, 数据会同时被发送到网

浅谈MySQL索引背后的数据结构及算法

摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持 也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等.为了避免混乱,本文将只关注于BTree索引,因为这是 平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论. 文章主要内容分为四个部分. 第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础. 第二部分结合MySQL数据库中

PDO连接mysql和pgsql数据库

PDO连接mysql数据库 1 <?php 2 $dsn="mysql:host=localhsot;dbname=lamp87"; 3 $user="root"; 4 $passwd="123"; 5 $m = new PDO($dsn,$user,$passwd); 6 $stmt = $m->query("select * from stu"); 7 $rows = $stmt->fetchAll();

浅谈mysql innodb缓存策略

浅谈mysql innodb缓存策略: The InnoDB Buffer Pool Innodb 持有一个存储区域叫做buffer pool是为了在内存中缓存数据和索引,知道innodb bufferpool怎么工作,和利用它读取频繁访问的数据,是mysql优化重要的方面. 理想状况下,把bufferpool的大小调整到足够大,留下足够的内存空间给其他该服务器上的进程(使其无缺页即可).bufferpool越大,innodb 月表现为内存型数据库,从硬盘上一次读取数据,之后并成了从内存中读取数

PDO连接mysql数据库

1.PDO简介 PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接和处理,什么 php_mysql.dll.php_pgsql.dll.php_mssql.dll.php_sqlite.dll等等. PHP6中也将默认使用PDO的方式连接,mysql扩展将被作为辅助 2.PDO配置 PHP.ini中,去掉"extension=php_pdo.dll"前面