首页 >后端开发 >php教程 > 正文

PDO中执行SQL语句的三种方法

原创2017-04-28 17:38:0106480
PDO中执行SQL语句的三种方法

在PDO中,我们可以使用三种方式来执行SQL语句,分别是 exec()方法,query方法,以及预处理语句prepare()和execute()方法~

在上一篇文章《使用PDO构造函数连接数据库及DSN详解》中,我们介绍了如何使用构造函数连接数据库和DSN的详解,那么我们这篇文章跟大家介绍在PDO中执行SQL语句的三种方式,下面我们将一一介绍!

第一种方法:exec()方法

exec()方法返回执行SQL 语句后受影响的行数,其语法格式如下:

int PDO::exec(string statement)

参数 satatement 是要执行的SQL语句,该方法返回执行SQL 语句时受影响的行数,通常用于 INSERT,DELETE和UPDATE语句中。下面我们用具体代码讲解,代码如下:

<?php
header("Content-Type:text/html; charset=utf-8");    //设置页面的编码格式
$dbms = "mysql";                                  // 数据库的类型
$dbName ="php_cn";                                //使用的数据库名称
$user = "root";                                   //使用的数据库用户名
$pwd = "root";                                    //使用的数据库密码
$host = "localhost";                              //使用的主机名称
$dsn  = "$dbms:host=$host;dbName=$dbName ";
try{                                             //捕获异常
    $pdo = new PDO($dsn,$user,$pwd);             //实例化对象
    $query="insert into user(username,password) values('php','523')";//需要执行的sql语句
    $res=$pdo->exec($query);//执行添加语句并返回受影响行数
    echo "数据添加成功,受影响行数为: ".$res;
}catch(Exception $e){
    die("Error!:".$e->getMessage().'<br>');
}
?>

输出结果为:

78.png

第二种方法:query()方法

query()方法用于返回执行查询后的结果集,该函数的语法格式如下如下:

PDOStatement PDO::query(string statement)

参数 satatement 是要执行的 SQL语句,它返回的是一个PODStatement对象!具体请看下面示例代码:

<?php
header("Content-Type:text/html; charset=utf-8");    //设置页面的编码格式
$dbms = "mysql";                                  // 数据库的类型
$dbName ="php_cn";                                //使用的数据库名称
$user = "root";                                   //使用的数据库用户名
$pwd = "root";                                    //使用的数据库密码
$host = "localhost";                              //使用的主机名称
$dsn  = "$dbms:host=$host;dbName=$dbName ";
try{
    $pdo=new PDO($dsn,$user,$pwd);
    $query="select * from user";
    $res=$pdo->query($query);
    print_r($res);
}catch(Exception $e){
    die("Error!:".$e->getMessage().'<br>');
}
?>

输出结果为:

79.png

注意:

1、query和exec都可以执行所有的sql语句,只是返回值不同而已。

2、query可以实现所有exec的功能。

3、当把select语句应用到 exec 时,总是返回 0

4、如果要看查询的具体结果,可以通过foreach语句完成循环输出

第三种种方法:预处理语句:prepare()语句和execute()语句

预处理语句包括prepare()和execute()两种方法。首先,通过prepare()方法做查询准备工作,然后通过execute()方法执行查询,并且还可以通过bindParam()方法来绑定参数给execute()方法,语法如下:

PDOStatement PDO::prepare(string statement[,array driver_options])
bool PDOStatement::execute([array input_parameters])

在PDO中通过预处理语句prepare()和execute()执行SQL查询语句,使用循环把数据循环出来,下面我们具体看下示例代码:

<?php
header("Content-Type:text/html; charset=utf-8");    //设置页面的编码格式
$dbms = "mysql";                                  // 数据库的类型
$dbName ="php_cn";                                //使用的数据库名称
$user = "root";                                   //使用的数据库用户名
$pwd = "root";                                    //使用的数据库密码
$host = "localhost";                              //使用的主机名称
$dsn  = "$dbms:host=$host;dbname=$dbName";
try{
    $pdo=new PDO($dsn,$user,$pwd);//初始化一个PDO对象,就是创建了数据库连接对象$pdo
    $query="select * from user";//需要执行的sql语句
    $res=$pdo->prepare($query);//准备查询语句
    $res->execute();
    while($result=$res->fetch(PDO::FETCH_ASSOC)){
        echo $result['id']." ".$result['username']." ".$result['password'].'<br>';
    }
}catch(Exception $e){
    die("Error!:".$e->getMessage().'<br>');
}

输出的结果是如下:

80.png

关于PDO的执行SQL 的三种方法,我们就介绍到这里,是不是很简单呢,小伙伴们可以再自己的本地测试一下,下一篇我们为大家继续介绍PDO中获取结果集的方法,具体请阅读《PDO中获取结果集之fetch()方法详解》!

以上就是PDO中执行SQL语句的三种方法的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:PDO,SQL语句
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息

    黄舟

    人生最曼妙的风景,竟是内心的淡定与从容!

    最近文章
    php实现字符串匹配算法之sunday算法的示例3311
    css中关于hideFocus的使用详解3358
    JavaScript中filter函数的详细介绍3127
    推荐视频教程
  • javascript初级视频教程javascript初级视频教程
  • jquery 基础视频教程jquery 基础视频教程
  • 视频教程分类