繁体   English   中英

mysql过程只返回一行/第一行

[英]mysql procedure return only one/first row

我正在尝试100次,找出我的代码仅作为第一行输出的原因。 我做了一个选择所有产品的程序,我以这种方式在php中调用它:

$query      = "CALL create_helper()";
$exec       = mysql_query( $query, $connexion );

while($row = mysql_fetch_row($exec)) {
   var_dump(  $row  );
}


CREATE PROCEDURE create_helper ()
BEGIN
  DECLARE prod CURSOR FOR SELECT id FROM pC;
  ...
  OPEN prod;
   pd_loop: LOOP
      FETCH pd INTO id_s;
         IF finished = 1 THEN 
            LEAVE pd_loop;
         END IF;
         SELECT name, ag, pdt, pname FROM clt WHERE id = id_s;
         ...
      END LOOP pd_loop;
   CLOSE prod;
END;

mysql下的过程工作正常,但唯一和一个问题是在php中。 它始终显示第一行。

Try it

返回与获取的行对应的数字字符串数组,如果没有更多行,则返回FALSE。

mysql_fetch_row()从与指定结果标识符关联的结果中提取一行数据。 该行作为数组返回。 每个结果列都存储在一个数组偏移量中,从偏移量0开始。

mysql_fetch_array()

Fetch a result row as an associative array, a numeric array and also it fetches by both associative & numeric array.
<?php
$query      = "CALL create_helper()";
$exec       = mysql_query( $query, $connexion );

while($row = mysql_fetch_array($exec)) 
{
  var_dump($row);
}
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM