> 백엔드 개발 > PHP 튜토리얼 > PDO的使用_PHP教程

PDO的使用_PHP教程

WBOY
풀어 주다: 2016-07-13 17:36:26
원래의
1112명이 탐색했습니다.

//首先要连接mysql数据库
$dbh = new PDO(mysql:host=localhost;dbname=test, $user, $pass);
//如果你想连mssql:
//mssql:host=localhost;dbname=testdb
//连pgsql:
//pgsql:host=localhost port=5432 dbname=testdb user=bruce password=mypass
//连odbc(DSN)
//odbc:testdb
//连access:
//odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\db.mdb;Uid=Admin
//还有oracle,sqlite,db2....

//执行个查询
foreach ($dbh->query(SELECT * from FOO) as $row) {
    print_r($row); //这个结果和mysql_fetch_array差不多。PDOStatement::setFetchMode 可以调整。
}

//另外还可以:
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

//将整个记录集读到数组里:
$result = $sth->fetchAll();
print_r($result);
//输出:
Array
(
[0] => Array
       (
         [NAME] => pear
         [0] => pear
         [COLOUR] => green
         [1] => green
       )

[1] => Array
       (
         [NAME] => watermelon
         [0] => watermelon
         [COLOUR] => pink
         [1] => pink
       )

)

//插入 / 删 / 更新数据:
$count = $dbh->exec("DELETE FROM fruit WHERE colour = red");
//$count就是删除的条数。相当于mysql_affected_rows
//也可用PDOStatement::rowCount

//偶忘了偶用啥数据库了。。。。
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == mysql) {
   echo "Running on mysql; doing something mysql specific here ";
}

//原来插入数据的时候要用mysql_escape_string,现在?
print "Unquoted string: $string ";
print "Quoted string: " . $conn->quote($string) . " ";
//得到:
Unquoted string: Nice
Quoted string: Nice
//你看现在连引号都自动加了。。。。
//注意在不同的数据库中结果不同,比如有的 => ,有的 => ,\ => \
//现在没顾虑了,全自动。

//最后偶要关闭它了
$conn = null;
//但是!你可以保持连接:
$dbh = new PDO(odbc:SAMPLE, db2inst1, ibmdb2,
    array(PDO_ATTR_PERSISTENT => true));

//很简单的不是?

附:特别简单的特殊调用方法:
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?");
if ($stmt->execute(array($_GET[name]))) { //你怕啥?自动quote!
   while ($row = $stmt->fetch()) {
print_r($row);
   }
}

也可以:
$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES[file][type]);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);

这么好的功能,哪里可以找到?php5.1以上在扩展里,php5在pecl里,php4?你别想了,没有。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/508227.htmlTechArticle//首先要连接mysql数据库 $dbh = new PDO(mysql:host=localhost;dbname=test, $user, $pass); //如果你想连mssql: //mssql:host=localhost;dbname=testdb //连pgsql: //pgsql:hos...
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿