是不是也是先
mysql_connect("localhost","root","");
mysql_select_db("dbname");
$sql = "create procedure stu_sp1(IN seat int,OUT uname char(20))";
$sql .= "begin";
$sql .= "select stuName from stuinfo where stuSeat=seat into uname";
$sql .= "end";mysql_query($sql);mysql_query("call stu_sp1(1,@name)");我看网上说如果在php页面使用存储过程关键还要注意两点:(不知道这两点是不是必须写才能使用存储过程)关键就是两点1)define('CLIENT_MULTI_RESULTS', 131072);2)$link = mysql_connect("127.0.0.1", "root", "",1,CLIENT_MULTI_RESULTS) or die("Could not connect: ".mysql_error());

解决方案 »

  1.   

    恩,不过你创建procedure的格式要注意.而且既然是php处理,应该在create procedure之前执行一次dropmysql_query("drop procedure if exists stu_sp1");
    $sql = "create procedure stu_sp1(IN seat int,OUT uname char(20))";
    $sql .= "\nbegin";//\n
    $sql .= "\nselect stuName from stuinfo where stuSeat=seat into uname;";//语句加;号
    $sql .= "\nend";mysql_query($sql);mysql_query("call stu_sp1(1,@name)"); 
      

  2.   

    当然可以的话就用mysqli扩展了,更方便。
      

  3.   

    还有你的语句不对
    into 放的位置不对
    $sql .= "\nselect stuName into uname from stuinfo where stuSeat=seat;";//语句加;号
      

  4.   

    是不是直接写到数据库更好?还有就是是不是必须写
    1)define('CLIENT_MULTI_RESULTS', 131072); 2)$link = mysql_connect("127.0.0.1", "root", "",1,CLIENT_MULTI_RESULTS);