[英]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.