$res=mysql_query("set @a=$password",$dblink);
$res=mysql_query("call aa(@a)",$dblink);
$res=mysql_query("select @a",$dblink);

解决方案 »

  1.   

    在mysql-font里面.测试这个存储过程能查询出值来.但是PHP调用。就出不来了
      

  2.   

    返回单个数据:
    1.1:创建MySQL存储过程:DELIMITER $$DROP PROCEDURE IF EXISTS `test`.`proc_test` $$
    CREATE PROCEDURE `test`.`proc_test` (out a int)
    BEGIN
        select count(*) into a from tblname;
    END $$DELIMITER ;1.2:PHP调用:$db->query("CALL test.proc_test(@a)");
    $res = $db->query("select @a");
    $row = $res->fetch_array();
    echo $row['@a']; 返回多个数据:
    2.1:创建MySQL存储过程:DELIMITER $$DROP PROCEDURE IF EXISTS `test`.`proc_test` $$
    CREATE PROCEDURE `test`.`proc_test` ()
    BEGIN
        select * from tbl_name;
    END $$DELIMITER ;2.2:PHP调用:$res=$db->query("CALL test.proc_test()");
    while ($arr=$res->fetch_array())
    {
        echo $arr["Field"] ."<br/>";
    }P.S.:以上代码执行通过环境 PHP 5.X.X + MySQL 5.X.X  
    以上也是我找的,试试,可以的话说一声。呵呵