现有如下一存储过程:
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_Test`(in $W_id int)
BEGINDECLARE $type int DEFAULT 0;
DECLARE $preID int;
DECLARE $nextID int;
DECLARE $preName varchar(50);
DECLARE $nextName varchar(50);SELECT `W_Type` INTO $type FROM `tb_Writings`WHERE `W_ID`=$W_id;SELECT `W_ID`,`W_Name` INTO $nextID,$nextName FROM `tb_Writings`WHERE `W_ID`>$W_id AND `W_Type`=$typeORDER BY `W_ID` ASC LIMIT 1;SELECT `W_ID`,`W_Name` INTO $preID,$prename FROM `tb_Writings`WHERE `W_ID`<$W_id AND `W_Type`=$typeORDER BY `W_ID` DESC LIMIT 1;
SELECT $preID AS `PreID`,$nextID AS `NextID`,$preName AS `PreName`,$nextName AS `NextName`;END
现在要求改在PHP里直接运行而不调用存储过程,如果实现?可以不给出代码,但也要把思路说明白。

解决方案 »

  1.   

    不就是几句SELECT吗...要什么思路?
      

  2.   

    问题是 这仅仅是一个较简单的存储过程,而且还只是一个功能的实现,就要连接执行那么多次查询。如果是换成一个复杂点的,如创建临时表,逻辑判断 等,PHP该如何调用?抱歉,刚学 PHP ,还不熟,只想了解一下 PHP 对这种情况如何解决。
      

  3.   

    简单的存储过程  改成PHP 就是简单的 PHP
    存储过程 用多少次查询, PHP 就用多少次查询
    分别只在于执行的地方
    你那个存储过程一样进行了4次如果想一句SQL 完成可以用 subquery 之类的