关注PDO

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

PDO是由Wez FurlongGeorge SchlossnagleIlia AlshanetskyMarcus B?rger等人参与开发的一个PHP数据对象抽象层,跟PHP4中的DBX类似,支持多种数据库接口。目前工作在PHP5环境下,将来可能会绑定到PHP5中。

使用例子:

<?php

$dbh = new PDO('mysql:dbname=test;host=localhost', $username, $password);

// let's have exceptions instead of silence.

// other modes: PDO_ERRMODE_SILENT (default - check $stmt->errorCode() and $stmt->errorInfo())

// PDO_ERRMODE_WARNING (php warnings)

$dbh->setAttribute(PDO_ATTR_ERRMODE, PDO_ERRMODE_EXCEPTION);

// one-shot query

$dbh->exec("create table test(name varchar(255) not null primary key, value varchar(255));");

?>

<?php

// insert some data using a prepared statement

$stmt = $dbh->prepare("insert into test (name, value) values (:name, :value)");

// bind php variables to the named placeholders in the query

// they are both strings that will not be more than 64 chars long

$stmt->bindParam(':name', $name, PDO_PARAM_STR, 64);

$stmt->bindParam(':value', $value, PDO_PARAM_STR, 64);

// insert a record

$name = 'Foo';

$value = 'Bar';

$stmt->execute();

// and another

$name = 'Fu';

$value = 'Ba';

$stmt->execute();

// more if you like, but we're done

$stmt = null;

?>

<?php

// get some data out based on user input

$what = $_GET['what'];

$stmt = $dbh->prepare('select name, value from test where name=:what');

$stmt->bindParam('what', $what);

$stmt->execute();

// get the row using PDO_FETCH_BOTH (default if not specified as parameter)

// other modes: PDO_FETCH_NUM, PDO_FETCH_ASSOC, PDO_FETCH_OBJ, PDO_FETCH_LAZY, PDO_FETCH_BOUND

$row = $stmt->fetch();

print_r($row);

$stmt = null;

?>

更多的例子请访问Wez Furlong的BLOG。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航