PHP操作Mysql存储过程

    MySQL 存储过程是从 MySQL 5.0 开始增加的新功能。存储过程的优点主要是执行效率和SQL 代码封装。特别是 SQL 代码封装功能,尤其是业务逻辑复杂的时候。现在有了 MySQL 存储过程,业务逻辑可以封装存储过程中,这样不仅容易维护,而且执行效率也高。网站建设www.ucantech.com


Php代码  收藏代码

    <?php  
    /**
     * PHP操作Mysql存储过程示例
     * 
     * @author flyer0126
     * @date 2011-12-23
     * 
     */ 
     
    //配置数据库连接信息 
    $hostname = 'localhost'; 
    $username = '******'; 
    $password = '******'; 
     
    //连接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); 
     
    ?>  (fblww-0104)

猜你喜欢

转载自wzjs2011.iteye.com/blog/1335070