
sql server:
sqlsrv:Server=localhost;Database=testdb
db2:
odbc:SAMPLE
Informix:
informix:host=hostdomaincom; service=9800; database=common_db; server=ids_server; protocol=onsoctcp; EnableScrollableCursors=1
Sybase:
dblib:host=$hostname:$port;dbname=$dbname
PostgreSQL:
pgsql:host=localhost;port=5432;dbname=testdb;user=bruce;password=mypass
Access:
DB_DSN'=>"odbc:DRIVER={Microsoft Access Driver (mdb)};DBQ=" getcwd() "\\Database\\dbmdb
ps: 是这样的,先去搜索目前都有哪些数据库,然后再搜索 php pdo 数据库名 dsn 即可。
PDO可以兼容更多数据库,同样的语法访问不同数据库;
配置简单, *** 作方便;
PDO对预处理语句的支持需要使用PDOStatement类对象,所以PDOStatement类只是PDO的一部分,这个类比较大作用是防止sql注入:
1
2
3
4
5
6
7
8
9
<php
//省略PDO连接数据库代码
$query = "insert into contactinfo (name,address,phone) values(:name,:address,:phone)";
$stmt = $dbh->prepare($query); //调用PDO对象中的prepare()方法
$stmt->blinparam(':name',$name); //将变量$name的引用绑定到准备好的查询名字参数":name"中
$stmt->blinparam(':address',$address);
$stmt->blinparam(':phone',phone);
//
>
它是每个字段值可以对应替换的,pdo可以对每个值进行处理,防止sql注入;
和Mysql类里面的用法一样,他们只过不过是我们链接数据库的中间桥梁变了,本质并没有变,还是对数据库进行 *** 作,而 *** 作的要利用SQL语句,所以这里可以用同样的mysql语句即可,只不过执行函数变了!在mysql类里面,我们用mysql_query(“SET NAMES gbk”);设置字符集编码为gbk啦!在PDO里面我们用$db->query("SET NAMES gbk");当然也有其他的函数也可以。>
示例代码如下:
<phpheader('content-type:text/html;charset=utf-8');
//以 pdo 方式连接mysql数据库
$dsn = 'mysql:dbname=message;host=localhost';
$user = 'root';//数据库用户名
$passwd = '';//数据库密码
$pdo = new PDO($dsn, $user, $passwd);
$pdo->query('set names utf8');//设置字符集
$result = $pdo->query('select yeming from tp_users');//查询数据库
$result->setFetchMode(PDO::FETCH_ASSOC);
$result_arr = $rs->fetchAll();
print_r($result_arr);
"第一个数据"的概念有点模糊:
可以直接用返回记录数组的索引第1条就是,或者按某字段进行排序,根据需要来。
pdo是什么
PDO(PHP Data Objects)是一种在PHP里连接数据库的使用接口。PDO与mysqli曾经被建议用来取代原本PHP在用的mysql相关函数,基于数据库使用的安全性,因为后者欠缺对于SQL注入的防护。
以上就是关于php pdo 链接各个数据库的dsn分别是什么全部的内容,包括:php pdo 链接各个数据库的dsn分别是什么、php连接数据库关于PDO类和PDOStatement类的区别是什么、php使用pdo连接mysql数据库如何设置发送的字符集等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)