mysql:
create procedure sp_demo() begin select 111; end;php:
$conn=mysql_connect('127.0.0.1');
$query=mysql_query('call test.sp_demo(@test)',$conn);
var_dump($query);//true$conn=mysqli_connect('127.0.0.1');
$query=mysqli_query($conn,'call test.sp_demo(@test)');
var_dump($query);//false

解决方案 »

  1.   

    你的mysql_connect()里怎么就一个主机名?数据库用户名密码呢?你选择了数据库吗?另外你这个存储过程都没有参数你传进去的test是干嘛用的?$conn = mysql_connect('127.0.0.1,'root','')or die('数据库连接失败');
    if($conn){mysql_select_db('database',$conn);}
    ......
      

  2.   

    最主要的是mysql_query()里面的参数也是:[query],[connect]..Lz连这个都搞反了..
      

  3.   

    你们没看我说的吗?mysql的连接方式没问题,是后面使用mysqli才执行有错误!说白了,跟连接没关系!哪怕我mysqli_query($conn,'select 111');也会执行成功。然后说声对不起,参数@test是手误。我还是更正一下:mysql:
    create procedure sp_demo() begin select 111; end;php:
    $conn=mysql_connect('127.0.0.1');
    $query=mysql_query('call test.sp_demo()',$conn);
    var_dump($query);//true$conn=mysqli_connect('127.0.0.1');
    $query=mysqli_query($conn,'call test.sp_demo()');
    var_dump($query);//false
    //$query=mysqli_query($conn,'select 111');
    //var_dump($query);//true