Maison  >  Article  >  développement back-end  >  Comment utiliser les procédures stockées MySQL en PHP ?

Comment utiliser les procédures stockées MySQL en PHP ?

WBOY
WBOYoriginal
2024-06-02 14:13:56386parcourir

Pour utiliser les procédures stockées MySQL en PHP : Connectez-vous à une base de données MySQL à l'aide de PDO ou de l'extension MySQLi. Préparez l'instruction pour appeler la procédure stockée. Exécutez la procédure stockée. Traitez le jeu de résultats (si la procédure stockée renvoie des résultats). Fermez la connexion à la base de données.

如何在 PHP 中使用 MySQL 存储过程?

Comment utiliser les procédures stockées MySQL en PHP ?

Introduction

Les procédures stockées MySQL sont un groupe d'instructions SQL précompilées qui peuvent être utilisées pour effectuer des opérations de données complexes. En PHP, nous pouvons interagir avec les procédures stockées MySQL en utilisant l'extension PDO ou l'extension MySQLi.

Utiliser l'extension PDO

<?php
// 打开 PDO 连接
$conn = new PDO('mysql:host=localhost;dbname=database_name;charset=utf8', 
               'username', 'password');

// 设置存储过程的名称
$procedure_name = 'my_stored_procedure';

// 准备调用存储过程的语句
$stmt = $conn->prepare("CALL $procedure_name()");

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

// 处理结果集(如果存储过程返回了结果集)
$result = $stmt->fetchAll();

// 关闭连接
$conn = null;
?>

Utiliser l'extension MySQLi

<?php
// 打开 MySQLi 连接
$mysqli = new mysqli('localhost', 'username', 'password', 'database_name');

// 设置存储过程的名称
$procedure_name = 'my_stored_procedure';

// 查询并执行存储过程
$result = $mysqli->query("CALL $procedure_name()");

// 处理结果集(如果存储过程返回了结果集)
while ($row = $result->fetch_assoc()) {
    // do something with the row
}

// 关闭连接
$mysqli->close();
?>

Cas pratique

Supposons que nous ayons une procédure stockée get_customer_by_id, qui reçoit un paramètre customer_id Et renvoyez les informations client. Nous pouvons appeler cette procédure stockée en utilisant PHP en utilisant l'extrait de code suivant : get_customer_by_id,它接收一个参数 customer_id 并返回客户信息。我们可以使用以下代码片段使用 PHP 调用此存储过程:

// 用 PHP 调用 get_customer_by_id 存储过程
$customer_id = 123;
$result = $mysqli->query("CALL get_customer_by_id($customer_id)");
$customer = $result->fetch_assoc();

然后,我们就可以访问 $customerrrreee

Nous pouvons ensuite accéder au tableau $customer pour obtenir les détails d'un client spécifié. 🎜

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