Maison  >  Article  >  développement back-end  >  Trois façons d'exécuter des instructions SQL dans PDO

Trois façons d'exécuter des instructions SQL dans PDO

黄舟
黄舟original
2017-04-28 17:38:019654parcourir

Trois façons d'exécuter des instructions SQL dans PDO

Dans PDO, nous pouvons utiliser trois façons d'exécuter des instructions SQL, à savoir la méthode exec(), la méthode de requête , et les méthodes d'instruction préparée préparer() et exécuter()~

Dans l'article précédent "Utilisation du constructeur PDO pour se connecter à la base de données et explication détaillée DSN", nous avons présenté Maintenant que nous avons un explication détaillée de la façon d'utiliser les constructeurs pour connecter des bases de données et des DSN, cet article vous présentera trois façons d'exécuter des instructions SQL dans PDO. Nous les présenterons une par une ci-dessous !

La première méthode : méthode exec()

La méthode exec() renvoie le nombre de lignes affectées après l'exécution de l'instruction SQL, son syntaxe Le format est le suivant :

int PDO::exec(string statement)

Le paramètre satatement est l'instruction SQL à exécuter. Cette méthode renvoie le nombre de lignes affectées lors de l'exécution de l'instruction SQL. Elle est généralement utilisée dans INSERT, DELETE et. Instructions UPDATE. Ci-dessous, nous utilisons un code spécifique pour expliquer, le code est le suivant :

<?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(&#39;php&#39;,&#39;523&#39;)";//需要执行的sql语句
    $res=$pdo->exec($query);//执行添加语句并返回受影响行数
    echo "数据添加成功,受影响行数为: ".$res;
}catch(Exception $e){
    die("Error!:".$e->getMessage().&#39;<br>&#39;);
}
?>

Le résultat de sortie est :

Trois façons dexécuter des instructions SQL dans PDO

Deuxième méthode : méthode query ()

La méthode query() est utilisée pour renvoyer l'ensemble de résultats après l'exécution de la requête. Le format de syntaxe de cette fonction est le suivant :

PDOStatement PDO::query(string statement)

Le paramètre satation doit être L'instruction SQL exécutée renvoie un objet PODStatement ! Pour plus de détails, veuillez consulter l'exemple de code ci-dessous :

<?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().&#39;<br>&#39;);
}
?>

Le résultat de sortie est :

Trois façons dexécuter des instructions SQL dans PDO

Remarque :

1. query et exec peuvent exécuter toutes les instructions SQL, mais les valeurs de retour sont différentes.

2. Query peut réaliser toutes les fonctions d'exécution.

3. Lors de l'application de l'instruction select à exec, elle renvoie toujours 0

4. requête, vous pouvez compléter la sortie de la boucle via l'instruction foreach

La troisième méthode : instructions préparées : instruction prepare() et instruction perform()

Les instructions préparées incluent deux méthodes : préparer() et exécuter(). Tout d'abord, préparez la requête via la méthode prepare(), puis exécutez la requête via la méthodeexecute(). Vous pouvez également lier les paramètres à la méthodeexecute() via la méthode bindParam(). >

PDOStatement PDO::prepare(string statement[,array driver_options])
bool PDOStatement::execute([array input_parameters])
Exécutez les instructions de requête SQL dans PDO via les instructions préparées préparer() et exécuter(), et utilisez des boucles pour boucler les données. Examinons l'exemple de code en détail :

<?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[&#39;id&#39;]." ".$result[&#39;username&#39;]." ".$result[&#39;password&#39;].&#39;<br>&#39;;
    }
}catch(Exception $e){
    die("Error!:".$e->getMessage().&#39;<br>&#39;);
}
Les résultats de sortie sont les suivants :

Trois façons dexécuter des instructions SQL dans PDO

Concernant les trois méthodes d'exécution de SQL en PDO, nous les présenterons ici. Est-ce très simple que les amis peuvent le tester localement ? .Suivant Dans cet article, nous continuerons à présenter la méthode d'obtention de l'ensemble de résultats dans PDO Pour plus de détails, veuillez lire "

Explication détaillée de la méthode fetch() pour obtenir l'ensemble de résultats dans PDO" !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn