我现在尝试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中。它始终显示第一行。
答案 0 :(得分:-1)
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);
}
?>