Heim > Backend-Entwicklung > PHP-Tutorial > PDO的使用_PHP教程

PDO的使用_PHP教程

WBOY
Freigeben: 2016-07-13 17:36:26
Original
1112 Leute haben es durchsucht

//首先要连接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...
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage