0

このMySQLストアドプロシージャからの2つの出力を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'};

最後の2行はエラーをスローしています Trying to get property of non-object。誰かがこれを行うための適切な方法を知っていますか?

4

2 に答える 2

2

mysql_fetch_assocの代わりにmysql_fetch_objectでクエリを修正する必要があります。

次に、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 に答える