0

我正在尝试将此 MySQL 存储过程的两个输出设置为 PHP 变量:

$result = mysql_query("CALL mst2('$q', @eset, @leng)");
if (!$result) {  
  die('Invalid query: ' . mysql_error());
} 

while($row = @mysql_fetch_assoc($result))
{
debug($row);

}
$eset = $row->{'@eset'};
$length= $row->{'@leng'};

最后两行抛出错误 Trying to get property of non-object。有人知道这样做的正确方法吗?

4

2 回答 2

2

mysql_fetch_object 而不是 mysql_fetch_assoc 应该可以修复您的查询。

其次,尽管您应该真正考虑使用 mysqli_ 或 pdo 语句。

这里的链接:

于 2012-12-06T01:01:28.290 回答
1

以下是我如何使用它mysql_query

$result = mysql_query("CALL mst2('$q', @eset, @leng)");
$result = mysql_query("SELECT @eset, @leng");
if (!$result) {  
  die('Invalid query: ' . mysql_error());
} 

while($row = @mysql_fetch_object($result))
{
$eset = $row->{'@eset'};
}

在我调用SELECT语句的过程之后,然后在 while 循环中,$eset 变量被正确设置。

于 2012-12-06T01:24:53.420 回答