数码资讯
MySQL的连接方式在PHP中使用PDO的详细解决方案
PDO的常用方法: PDO::查询()主要用于记录运算结果返回(PDOStatement),特别是选择操作。 PDO::exec()是主要的操作,还没有一个结果集,如插入、更新等操作。返回受影响的行数。 PDO::lastinsertid()返回最后一个插入的最后一个ID,但要注意:如果你使用的是插
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
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的相关用法。希望这篇文章能对你有所帮助,希望你能喜欢。
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的相关用法。希望这篇文章能对你有所帮助,希望你能喜欢。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。