Maison  >  Article  >  base de données  >  Parlons de la façon d'utiliser les procédures stockées MySQL en PHP

Parlons de la façon d'utiliser les procédures stockées MySQL en PHP

PHPz
PHPzoriginal
2023-04-17 15:29:26577parcourir

Ici, nous présenterons les procédures stockées en PHP et MySQL.

Une procédure stockée fait référence à un programme SQL réutilisable, composé d'instructions SQL et d'instructions de contrôle. Les procédures stockées peuvent simplifier les requêtes volumineuses et complexes, les rendant plus faciles à utiliser et à maintenir, et elles peuvent également améliorer les performances des applications à grande échelle. PHP et MySQL prennent tous deux en charge les procédures stockées, qui peuvent être exécutées dans le cadre d'une application ou utilisées comme exemples pour le développement et la recherche.

Pour utiliser des procédures stockées, PHP et MySQL fournissent les fonctions et la syntaxe correspondantes. Ci-dessous, nous présenterons la syntaxe de base pour utiliser les procédures stockées MySQL en PHP.

La syntaxe de base pour créer une procédure stockée MySQL est la suivante :

CREATE PROCEDURE procedure_name
([IN/OUT] parameter_name data type [(size)]) 
BEGIN
--  SQL Statements
END;

Où, "procedure_name" est le nom de la procédure stockée, "parameter_name" est le nom du paramètre facultatif, qui peut être de type IN, OUT ou INOUT, et « type de données » est le type de données du paramètre, « taille » est la taille du paramètre. Par exemple, nous pouvons créer une procédure stockée nommée « getcustomerinfo » :

CREATE PROCEDURE getcustomerinfo (IN id INT)
BEGIN
SELECT * FROM customers WHERE customer_id = id;
END;

La syntaxe de base pour utiliser les procédures stockées en PHP est la suivante :

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

// 调用存储过程
if ($stmt = $mysqli->prepare("CALL getcustomerinfo(?)")) {
    // 绑定参数
    $stmt->bind_param("i", $id);

    // 执行存储过程
    $stmt->execute();

    // 获取结果集
    $result = $stmt->get_result();

    // 处理结果集
    while ($row = $result->fetch_assoc()) {
        echo $row["customer_id"] . " " . $row["customer_name"] . "<br>";
    }

    // 释放结果集
    $result->free();

    // 关闭语句
    $stmt->close();
}

Dans l'exemple ci-dessus, nous appelons d'abord la procédure stockée, et l'instruction SQL est "APPELER getcustomerinfo(? )". Utilisez ensuite la fonction bind_param pour lier les paramètres. Cette fonction accepte deux paramètres, le premier est une chaîne de type de paramètre et le second est la valeur du paramètre. Dans cet exemple, nous lions une valeur entière $id. Ensuite, nous exécutons la procédure stockée et obtenons l'ensemble de résultats, en utilisant la fonction fetch_assoc pour obtenir chaque ligne de données de l'ensemble de résultats. Enfin, nous publions le jeu de résultats et fermons l’instruction.

Lors de l'utilisation de procédures stockées, vous devez également faire attention aux points suivants :

  1. Les procédures stockées doivent être créées dans la base de données, c'est-à-dire à l'aide de l'instruction CREATE PROCEDURE.
  2. Lors de l'appel d'une procédure stockée, vous pouvez utiliser la fonction de préparation et la fonction d'exécution, ou vous pouvez utiliser la fonction de requête pour exécuter directement la procédure stockée. Notez que lors de l'utilisation de la fonction de requête, le mot-clé CALL doit être utilisé avant le nom de la procédure stockée.
  3. Lors de l'appel d'une procédure stockée, tous les paramètres d'entrée doivent être liés. Vous pouvez utiliser la fonction bind_param pour effectuer la liaison.
  4. Le résultat renvoyé par la procédure stockée peut être l'ensemble de résultats, le nombre de lignes affectées, etc. Lors de l'obtention du jeu de résultats, vous devez utiliser la fonction get_result.
  5. L'exécution des procédures stockées peut être entourée d'instructions BEGIN et END. Les instructions entre BEGIN et END seront exécutées comme corps de la procédure stockée.

En résumé, les procédures stockées sont des programmes SQL qui peuvent rendre les applications plus efficaces et plus faciles à maintenir. PHP et MySQL prennent tous deux en charge l'utilisation de procédures stockées. La maîtrise de la syntaxe et de l'utilisation des procédures stockées peut faciliter le développement et la maintenance d'applications.

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