Maison  >  Article  >  développement back-end  >  Introduction détaillée aux procédures stockées dans PDO

Introduction détaillée aux procédures stockées dans PDO

黄舟
黄舟original
2017-04-28 17:47:493045parcourir

Introduction détaillée des procédures stockées dans PDO

Les procédures stockées dans PDO permettent de manipuler les données plus près des données, réduisant ainsi l'utilisation de la bande passante. indépendant de la logique du script, permettant à plusieurs systèmes utilisant différents langages d'accéder aux données de la même manière, économisant ainsi un temps précieux consacré au codage et au débogage, tout en utilisant des scénarios prédéfinis pour effectuer des opérations et augmenter la vitesse des requêtes et cela peut empêcher une interaction directe avec. données, protégeant ainsi les données !

Dans l'article précédent "Introduction détaillée au traitement des transactions dans PDO", nous avons présenté le traitement des transactions de PDO, donc dans cet article nous vous présenterons les procédures stockées dans PDO !

Tout d'abord, expliquons comment appeler une procédure stockée dans PDO. Ici, nous créons d'abord une procédure stockée avec l'instruction SQL suivante :

drop procedure if exists pro_reg;
delimiter//
create procedure pro_reg(in nc varchar(80),in pwd varchar(80), in email varchar(80),in address varchar(50))
begin
insert into tb_reg(name,pwd,email,address)values(nc,pwd,email,address);
end;
//

L'instruction "drop" supprime le stockage existant. sur le serveur MySQL. Traitez pro_reg.

La fonction de "delimiter//" est de changer la fin de l'instruction en "//".

"in nc varchar(80)....in adresse varchar(50)" indique les paramètres à passer dans la procédure stockée.

"begin...end" représente le bloc d'instructions dans la procédure stockée, et sa fonction est similaire à "{......}" dans le langage PHP.

Une fois la procédure stockée créée avec succès, la procédure stockée est appelée ci-dessous pour ajouter les informations d'enregistrement de l'utilisateur. Les étapes spécifiques sont les suivantes.

Créez le fichier index.php. Tout d’abord, créez un formulaire et soumettez les informations utilisateur sur cette page via la méthode POST. Ensuite, écrivez un script PHP sur cette page, connectez-vous à la base de données MySQL via PDO et définissez le format d'encodage de la base de données sur UTF-8 pour obtenir les informations d'enregistrement de l'utilisateur soumises dans le formulaire. Ensuite, appelez la procédure stockée pro_reg via l'instruction call pour ajouter les informations d'enregistrement de l'utilisateur à la table de données. Enfin, les informations d'erreur sont renvoyées via le bloc d'instructions try...catch.... Le code clé est le suivant :

<form name="form1" action="4.php" method="post">
    用户昵称:<input type="text" name="nc"><br>
    密   码:<input type="password" name="password"><br>
    邮   箱:<input type="text" name="email"><br>
    <input type="submit" name="Submit" value="注册">
    <input type="submit" name="Submit" value="重写">
</form>
<?php
if($_POST["Submit"]){
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
 $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $nc = $_POST[&#39;nc&#39;];
    $password = md5($_POST[&#39;password&#39;]);
    $email = $_POST[&#39;email&#39;];
    $query = "call pro_reg(&#39;$nc&#39;,&#39;$password&#39;,&#39;$email&#39;)";
    $res = $pdo->prepare($query);//准备查询语句
    if ($res->execute()) {
        echo "添加数据库成功";
    } else {
        echo "添加数据库失败";
    }
}catch (PDOException $e){
    echo "PDO Exception Caught";
    echo &#39;Error with the database:<br>&#39;;
    echo &#39;SQL Query;&#39;.$query;
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    echo "Error:".$e -> getMessage()."<br>";
    echo "Code:".$e ->getCode()."<br>";
    echo "File:".$e ->getFile()."<br>";
    echo "Line:".$e ->getLine()."<br>";
    echo "Trace:".$e ->getTraceAsString()."<br>";
    echo  "
"; } }

Le résultat est le suivant :

Introduction détaillée aux procédures stockées dans PDO

L'essentiel est de créer une procédure stockée, puis d'appeler cette procédure stockée. Les amis peuvent l'essayer vous-même localement ~ ! ~

Résumé :

La couche d'abstraction de la base de données PDO est partout ici Nous nous sommes concentrés sur la couche d'abstraction de la base de données-PDO, à partir de la présentation, des caractéristiques et de l'installation. avec une introduction aux exemples d'applications PDO, notamment : comment se connecter à différentes bases de données, comment exécuter des instructions SQL, comment obtenir des jeux de résultats et effectuer la gestion des erreurs, puis aux applications avancées de PDO : transactions et procédures stockées, et chaque partie Il existe des exemples correspondants. En étudiant ce chapitre, je crois que les amis peuvent maîtriser l'application de la technologie PDO. Alors rendez-vous dans notre prochain sujet !

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