Heim > Backend-Entwicklung > PHP-Tutorial > PHP betreibt gespeicherte MySQL-Prozeduren

PHP betreibt gespeicherte MySQL-Prozeduren

巴扎黑
Freigeben: 2016-11-24 10:31:44
Original
1152 Leute haben es durchsucht

Gespeicherte MySQL-Prozeduren sind eine neue Funktion, die ab MySQL 5.0 hinzugefügt wurde. Die Vorteile gespeicherter Prozeduren liegen hauptsächlich in der Ausführungseffizienz und der SQL-Code-Kapselung. Insbesondere die SQL-Code-Kapselungsfunktion, insbesondere wenn die Geschäftslogik komplex ist. Mit den gespeicherten MySQL-Prozeduren kann nun die Geschäftslogik in gespeicherten Prozeduren gekapselt werden, was nicht nur einfach zu warten, sondern auch effizient in der Ausführung ist.

<?php 
/**
 * PHP操作Mysql存储过程示例
 * 
 * @author flyer0126
 * @date 2011-12-23
 * 
 */
//配置数据库连接信息
$hostname = &#39;localhost&#39;;
$username = &#39;******&#39;;
$password = &#39;******&#39;;
//连接mysql数据库
@$link = mysql_connect($hostname, $username, $password) or die("Connect Error:".mysql_error());
//选择目标库
mysql_select_db("flyer0126");
//展示目标库中数据表
@$res = mysql_list_tables("flyerdb");
for ($i=0; $i<mysql_num_rows($res); $i++){
echo mysql_tablename($res, $i)."<br/>";
}
//创建存储结构
mysql_query("DROP PROCEDURE IF EXISTS `my_test1`;", $link);
$create_pro_sql = "CREATE PROCEDURE `my_test1`(a INT, b INT)
BEGIN
DECLARE c INT;
IF a IS NULL THEN SET a = 0;
END IF;
IF b IS NULL THEN SET b = 0;
END IF;
SET c = a + b;
SELECT c AS SUM;
END;";
mysql_query($create_pro_sql, $link) or die("Query Invalid:".mysql_error());
//执行存储过程方式一
//$run_pro_sql = "CALL my_test1(1,2);";
//执行存储过程方式二
mysql_query("SET @a = 1", $link);
mysql_query("SET @b = 2", $link);
$run_pro_sql = "CALL my_test1(@a, @b);";
//执行存储过程
$result = mysql_query($run_pro_sql, $link) or die("Query Invalid:".mysql_error());;
//获取返回值
$row = mysql_fetch_row($result);
echo $row[0];
//3
//关闭连接
mysql_close($link);
?>
Nach dem Login kopieren


Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage