存储过程是
CREATE DEFINER = `root`@`localhost` PROCEDURE `testPrc`(IN UserID int)
BEGINselect user_name from user WHERE user_id = UserID ;
END;
在PHP里面为什么获取不到user_name $rs = $conn->Execute( "call testPrc(17)");
echo "<script>alert('"rs["user_name"]"');</script>";

解决方案 »

  1.   

     $row = mysqli_fetch_array($rs);
     echo $row["user_name"];
      

  2.   

    直接运行 call `testPrc`('17')呢
      

  3.   

    我本机经测试,可以正常显示,代码如下:
    $con=mysql_connect('localhost','root','4585') or die('error');
    mysql_select_db('test');
    $array=mysql_query("CALL testPrc(1)");
    while($r=mysql_fetch_array($array,MYSQL_ASSOC))
    var_dump($r);
    if(!$con)
    mysql_close($con);
    //+++++++++++++++++++++++++++++++++++
    array(2) {
      ["id"]=>
      string(1) "1"
      ["name"]=>
      string(4) "wang"
    }检查$conn对象里的Execute方法,另外前台alert建议写成:echo "<script>alert('rs[user_name]');</script>";
      

  4.   

    你的存储过程在mysql编辑器里面可以执行吗?$row = mysqli_fetch_array($rs);
    输出看看。