Heim >Backend-Entwicklung >PHP-Tutorial > php调用mysql存储过程有关问题

php调用mysql存储过程有关问题

WBOY
WBOYOriginal
2016-06-13 12:37:34854Durchsuche

php调用mysql存储过程问题
为什么我调用一次存储过程后再做其他查询后就错误了呢?
-------------------------
我要php调用mysql存储过程来查询表中所有数据,正常得出结果.
紧接着做其他查询时,不管使用什么语句都返回错误.

这是存储过程:
#查询shares表中的数据
#call  proc_show_shares('sendtime');      //排序对象
delimiter //
DROP PROCEDURE IF EXISTS proc_show_shares //
CREATE PROCEDURE proc_show_shares (in sorttype varchar(15))
BEGIN    
          Set @sql = concat("select* from shares order by ", sorttype," desc");
          PREPARE cmd from @sql;
          EXECUTEcmd;
          DEALLOCATEPREPARE cmd;
END//
delimiter ;

以下代码运行正常:
$query = "call proc_show_shares('sendtime')";
$results = mysql_query($query);  //调用存储过程
while($result_row = mysql_fetch_row($results))
{
        //{代码段}

        $values[] = $result_row;
}
其中{代码段}是被注释掉的.当取消注释时,就错误了.
代码段为:
$result = mysql_query("select name from users where id = 10001") or die('靠');
上面的sql语句单独运行正常(当然是有结果的),连在一起就输出'靠'了.

为什么?
我可以输出values,但是加上mysql_query("select name from users where id = 10001") or die('靠');就不行了.然而这条语句本身是正确的.

所有过程中数据库一直是连接状态的.

mysql php
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn