[PHP-users 29480] Re: numrows()のエラー?
shima tetuo
mlmlml @ lily.freemail.ne.jp
2006年 6月 24日 (土) 00:56:22 JST
On Fri, 23 Jun 2006 23:15:36 +0900
"Y.Shimizu" <yshimizu @ prest-info.co.jp> wrote:
> Warning*: Missing argument 1 for numrows()
>
> このようなエラーが出て、全てのデータが表示されてしまいます。
>
> *pear\DB\mysql.php* on line *466*
どのようなコードを動かしているのか提示されてないですが、もしかしてデータ
ベースオブジェクトで直接このメソッドを呼んでいませんか?
例:
<?php
$db = new .....;
echo $db->numRows();
?>
------------------------------
pear/db/mysql.php の466行目付近
------------------------------
/**
* Gets the number of rows in a result set
*
* This method is not meant to be called directly. Use
* DB_result::numRows() instead. It can't be declared "protected"
* because DB_result is a separate object.
*
* @param resource $result PHP's query result resource
*
* @return int the number of rows. A DB_Error object on failure.
*
* @see DB_result::numRows()
*/
function numRows($result)
{
$rows = @mysql_num_rows($result);
if ($rows === null) {
return $this->mysqlRaiseError();
}
return $rows;
}
上で書かれていることが「直接呼ばずにDB_resultを使って」となっています。
通常であれば、このように使わないでしょうか?
<?php
$db = new ....;
$result = $db->que...(....);
echo $result->numRows();
?>
DB_result::numRows() -- 結果セットの行数を取得する
http://pear.php.net/manual/ja/package.database.db.db-result.numrows.php
DB
http://pear.php.net/manual/ja/package.database.db.php
tetuo
mlmlml @ lily.freemail.ne.jp
PHP-users メーリングリストの案内