PDO的常用方法:



PDO::查询()主要用于记录运算结果返回(PDOStatement),特别是选择操作。

PDO::exec()是主要的操作,还没有一个结果集,如插入、更新等操作。返回受影响的行数。

PDO::lastinsertid()返回最后一个插入的最后一个ID,但要注意:如果你使用的是插入到TB(col1,col2)值(V1,V2),(V11,V22)。第一次插入多条记录(lastinsertid)是第一回(V1,V2)插入的ID,而不是最后一条记录插入记录的ID。

::()取PDOStatement来得到记录。跟随而来遍历。

fetchall PDOStatement::()是把所有的记录设置为一。

fetchcolumn PDOStatement::({ int column_indexnum })是用于直接访问列。参数column_indexnum是从0列的索引值,但是这种方法一次只能得到一排相同的线,它会跳到下一行,只要执行一次,因此,它是更好地使用直接访问的列,但是它将不会被使用穿过多柱。

PDOStatement::行()适用于参赛人数记录查询时(选择…)的方法,它也可以用于预处理,为美元->行数();

ColumnCount PDOStatement::()适用于记录的列数查询时(选择…)法。

注释:

1、取或fetchall

当小的记录集,对fetchall效率高,减少了从数据库中检索,但对于大型结果集,fetchall给系统带来巨大的负担。数据库太大和效率低的发送到Web前端。

2、取fetchall()或()有几个参数:

混合:取({ int PDOStatement:fetch_style { { int,int cursor_orientation,cursor_offset } } })

阵列PDOStatement::fetchall(int fetch_style)

fetch_style参数:

美元美元行= RS - > fetchall(PDO::fetch_both);fetch_both是默认的,可以返回到省和相关指数。

美元美元行= RS - > fetchall(PDO::fetch_assoc);fetch_assoc决定只返回数组参数。

美元美元行= RS - > fetchall(PDO::fetch_num);返回索引数组

美元美元行= RS - > fetchall(PDO::fetch_obj);如果取()返回的对象,如果是fetchall(),返回的数组中的对象组成的



复制代码代码如下所示:

< PHP

$胸径=新PDO('mysql:主机为localhost;北京access_control ','root ',');

$胸径-> setAttribute(PDO::::attr_errmode,PDO errmode_exception);

$胸径-> exec(让名字utf8);

添加

插入用户设置登录=登录和密码=密码;

为SQL =插入`用户`(`登录`,`密码`)值(登录名:密码);为美元美元=胸径->准备(美元支撑);((:

echo胸径-> lastinsertid();

修改

为SQL =更新`用户设置密码` ` ` =:密码,` user_id ` =:用户名;

美元美元支撑=胸径->准备($ SQL);

支撑美元->执行(array(':用户名= >年',':密码= > '4607e782c4d86fd5364d7e4508bb10d9 '));

echo语句->行数();

删除 *

为SQL =删除用户在登录` ` ` ` like'kevin_; / /凯文

美元美元支撑=胸径->准备($ SQL);

支撑美元->执行();

echo语句->行数();

查询

登录=凯文美元%;

从用户在哪里登录;

美元美元支撑=胸径->准备($ SQL);

支撑美元->执行(array(':登录= > $登录));

而($行=美元支撑->取(PDO::fetch_assoc)){

print_r(合排);

}

print_r(美元支撑-> fetchall(PDO::fetch_assoc));

>



1建立联系

复制代码代码如下所示:

< PHP

美元newpdo('mysql胸径:主机= localhost;端口= 3306;北京测试,用户通过美元,美元,阵列(

PDO::attr_persistent = >真的

));

>



持久连接PDO::attr_persistent = >真的

2。捕获错误

复制代码代码如下所示:

< PHP

尝试{

美元newpdo胸径('mysql:主机为localhost;北京测试,用户通过美元,美元);

$胸径-> setAttribute(PDO::::attr_errmode,PDO errmode_exception);

$胸径-> exec(设置UTF8字符);

$ =空;

} catch(PDOException,e){

打印错误!:。a -> GetMessage()。

(死亡);

}

>



三.事务

复制代码代码如下所示:

< PHP

尝试{

$胸径-> setAttribute(PDO::::attr_errmode,PDO errmode_exception);

($胸径->开始); / /公开交易

$dbh->exec (insertintostaff (ID, first, last) values (23,'Joe','Bloggs')));

$胸径-> exec(insertintosalarychange(ID、金额、changedate)

值(2350000,现在());

($)提交;提交事务

} catch(异常E){

($ $ >回滚);错误回滚

回声失败:。a -> GetMessage();

}

>



4。错误处理

静默模式(默认模式)

复制代码代码如下所示:

$胸径-> setAttribute(PDO::::attr_errmode,PDO errmode_silent); / /不显示错误

$胸径-> setAttribute(PDO::::attr_errmode,PDO errmode_warning); / /显示警告错误,并继续执行

$胸径-> setAttribute(PDO::::attr_errmode,PDO errmode_exception); / /致命错误,PDOException



复制代码代码如下所示:

< PHP

尝试{

新的PDO(胸径美元美元美元美元的DSN,用户,密码);

SQL 'select *美元所在的城市国家:国家=;

$胸径-> setAttribute(PDO::::attr_errmode,PDO errmode_warning);

美元美元支撑=胸径->准备($ SQL);

支撑美元-> bindparam(':国家,国家美元,PDO::param_str);

支撑美元->执行();

而($行=美元支撑->取(PDO::fetch_assoc)){

打印$行{ 'name' }。;

}

如果有一个问题,我们可以在这里处理

赶上(PDOException,e){

echo'pdo捕获异常。;

与数据库echo'error:';

echo'sql查询:',$ SQL;

echo'error:'。$ E -> GetMessage();

}

>



1。使用查询()

复制代码代码如下所示:

< PHP

$胸径->查询($ SQL);当变量$ SQL可以使用$胸径->报价($params); / /字符串数据

美元'select *市SQL =国家= '。$胸径->报价(合国);

foreach($胸径->查询($ SQL)达行){

打印$行{ 'name' }。;

'countrycode'} { print $行。;

'population'} { print $行。;

}

>



2。使用准备,bindparam,执行{推荐,添加,修改,删除}

复制代码代码如下所示:

< PHP

胸径->准备美元($ SQL);产生PDOStatement对象

bindparam PDOStatement ->()

(PDOStatement ->执行); / /相应的变量可以放在这里绑定

>



三.东西

复制代码代码如下所示:

< PHP

{试

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

$胸径->查询(让名字UTF8;');

$胸径-> setAttribute(PDO::::attr_errmode,PDO errmode_exception);

$dbh->beginTransaction ();

$胸径-> exec(插入`测试`。`表`(`名字`,`年龄`)值('mick ',22););

$胸径-> exec(插入`测试`。`表`(`名字`,`年龄`)值('lily ',29););

$胸径-> exec(插入`测试`。`表`(`名字`,`年龄`)值('susan ',21););

$ $ >提交();

catch(异常E){ }

$ $ >回滚();

失败:。$ E -> GetMessage();

}

>



以上就是关于PDO在PHP的相关用法。希望这篇文章能对你有所帮助,希望你能喜欢。