PDO的三种连接数据库的方式

 
PDO的出现是为了解决PHP与各个数据库的连接处理都有各自的函数的问题,它的高度抽象,使得使用起来极其的方便。由于最常用的搭配就是PHP+Mysql,所以这里就以连接mysql为例。

一、参数形式
  1. try{
  2. $dsn      = 'mysql:host=localhost;dbname=myblog';
  3. $username = 'root';
  4. $passwd   = '123456';
  5. $pdo      = new PDO($dsn, $username, $passwd);
  6. var_dump($pdo);
  7. }catch(PDOException $e){
  8. echo $e->getMessage();
  9. }
try{
$dsn = 'mysql:host=localhost;dbname=myblog';
$username = 'root';
$passwd = '123456';
$pdo = new PDO($dsn, $username, $passwd);
var_dump($pdo);
}catch(PDOException $e){
echo $e->getMessage();
}

二、URI形式

  1. try{
  2. $dsn      = 'uri:file://F:\wamp\www\myBlog\dsn.txt';
  3. $username = 'root';
  4. $passwd   = '123456';
  5. $pdo      = new PDO($dsn, $username, $passwd);
  6. var_dump($pdo);
  7. }catch(PDOException $e){
  8. echo $e->getMessage();
  9. }
  10. //dsn.txt
  11. mysql:host=localhost;dbname=myblog
try{
$dsn = 'uri:file://F:\wamp\www\myBlog\dsn.txt';
$username = 'root';
$passwd = '123456';
$pdo = new PDO($dsn, $username, $passwd);
var_dump($pdo);
}catch(PDOException $e){
echo $e->getMessage();
}
//dsn.txt
mysql:host=localhost;dbname=myblog

三、配置文件方式

  1. try{
  2. $dsn      = 'mypdo';
  3. $username = 'root';
  4. $passwd   = '123456';
  5. $pdo      = new PDO($dsn, $username, $passwd);
  6. var_dump($pdo);
  7. }catch(PDOException $e){
  8. echo $e->getMessage();
  9. }
  10. //其中在php.ini文件的任意位置加上以下代码,并保存重启服务器
  11. pdo.dsn.mypdo="mysql:host=localhost;dbname=myblog"
try{
$dsn = 'mypdo';
$username = 'root';
$passwd = '123456';
$pdo = new PDO($dsn, $username, $passwd);
var_dump($pdo);
}catch(PDOException $e){
echo $e->getMessage();
}
//其中在php.ini文件的任意位置加上以下代码,并保存重启服务器
pdo.dsn.mypdo="mysql:host=localhost;dbname=myblog"

PDO的三种连接数据库的方式的更多相关文章

  1. VMware的三种网络连接方式区别

    关于VMware的三种网络连接方式,NAT,Bridged,Host-Only ,在刚接触的时候通常会遇到主机Ping不通虚拟机而虚拟机能Ping得通主机:主机与虚拟机互不相通等等网络问题.本文就这三 ...

  2. .NET中的三种接口实现方式

    摘自:http://www.cnblogs.com/zhangronghua/archive/2009/11/25/1610713.html 一般来说.NET提供了三种不同的接口实现方式,分别为隐式接 ...

  3. Apache Spark探秘:三种分布式部署方式比较

    转自:链接地址: http://dongxicheng.org/framework-on-yarn/apache-spark-comparing-three-deploying-ways/     目 ...

  4. [转]详述DHCP服务器的三种IP分配方式

    DHCP就是动态主机配置协议(Dynamic Host Configuration Protocol),它的目的就是为了减轻TCP/IP网络的规划.管理和维护的负担,解决IP地址空间缺乏问题.这种网络 ...

  5. Binding 中 Elementname,Source,RelativeSource 三种绑定的方式

    在WPF应用的开发过程中Binding是一个非常重要的部分. 在实际开发过程中Binding的不同种写法达到的效果相同但事实是存在很大区别的. 这里将实际中碰到过的问题做下汇总记录和理解. 1. so ...

  6. windows phone 三种数据共享的方式(8)

    原文:windows phone 三种数据共享的方式(8) 本节实现的内容是数据共享,实现的效果描述:首先是建立两个页面,当页面MainPage通过事件导航到页面SecondPage是,我们需要将Ma ...

  7. 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之十二 || 三种跨域方式比较,DTOs(数据传输对象)初探

    更新反馈 1.博友@落幕残情童鞋说到了,Nginx反向代理实现跨域,因为我目前还没有使用到,给忽略了,这次记录下,为下次补充.此坑已填 2.提示:跨域的姊妹篇——<三十三║ ⅖ 种方法实现完美跨 ...

  8. Kubernetes的三种外部访问方式:NodePort、LoadBalancer和Ingress(转发)

    原文 http://cloud.51cto.com/art/201804/570386.htm Kubernetes的三种外部访问方式:NodePort.LoadBalancer和Ingress 最近 ...

  9. 框架源码系列九:依赖注入DI、三种Bean配置方式的注册和实例化过程

    一.依赖注入DI 学习目标1)搞清楚构造参数依赖注入的过程及类2)搞清楚注解方式的属性依赖注入在哪里完成的.学习思路1)思考我们手写时是如何做的2)读 spring 源码对比看它的实现3)Spring ...

随机推荐

  1. Android 使用CheckBox实现多选效果

    CheckBox:复选框1.有两种状态: 选中状态(true),未选中状态(false)2.属性: android:id="@+id/checkbox" android:layou ...

  2. 是否可以从一个static(静态)方法内部调用非static(非静态)方法?

    不可以.static方法调用时不需要创建对象(可直接调用),当一个static方法被调用时,可能还没有创建任何实例对象,也就不可能调用非静态方法.

  3. System.Net.WebException: The operation has timed out at System.Net.HttpWebRequest.GetResponse()

    System.Net.WebException: The operation has timed out  at System.Net.HttpWebRequest.GetResponse() 在请求 ...

  4. 《转》python学习(8)元组

    转自 http://www.cnblogs.com/BeginMan/p/3156235.html 一.元组特性 1.类似列表,但不可变类型,正因如此,它可以做一个字典的key2.当处理一组对象时,这 ...

  5. java基础---->多线程之interrupt(九)

    这里我们通过实例来学习一下java多线程中关于interrupt方法的一些知识.执者失之.我想当一个诗人的时候,我就失去了诗,我想当一个人的时候,我就失去了我自己.在你什么也不想要的时候,一切如期而来 ...

  6. MQTT协议笔记之发布流程

    MQTT协议笔记之发布流程 前言 这次要讲到客户端/服务器的发布消息行为,与PUBLISH相关的消息类型,会在这里看到. PUBLISH 客户端发布消息经由服务器分发到所有对应的订阅者那里.一个订阅者 ...

  7. TCP异常关闭研究分析

    版权声明:本文由谢代斌原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/108 来源:腾云阁 https://www.qclo ...

  8. 学习坤哥的replaceTpl方法

    学习坤哥的方法之后自己写的replaceTpl function replaceTpl(tpl, data){///////////////没有传入可让用户自己定义的方式进行替换,不够灵活       ...

  9. 【Android N 7.1.1】 锁屏之上显示Toast

    package com.android.systemuirom.keyguard; import android.content.Context; import android.view.Gravit ...

  10. 微信小游戏5.2.2 在子项目中使用EUI制作排行榜报错 wx.getFileSystemManager not function

    本来想子项目(开放数据域)想使用EUI来制作排行榜. 原5.1.11的时候是ok的.在5.2.2中,使用assetsmananger而不是res,则会报错wx.getFileSystemManager ...