0

次の SQL 関数があり、mysqli_stmt_bind_result の $row をデラレしました。

//get the user number per month
public function chartwaitinguservsproduct(){
    $stmt = mysqli_prepare($this->connection, 
            "select 
                (Select COUNT(*)  from reusematching.waitinglist_product) as COUNTP,
                (Select COUNT(*)  from reusematching.waitinglist_user) as COUNTU;
                ");     
    $this->throwExceptionOnError();

    mysqli_stmt_execute($stmt);
    $this->throwExceptionOnError();

    mysqli_stmt_fetch($stmt);
    mysqli_stmt_bind_result($stmt, $row->COUNTP, $row->COUNTU);


    mysqli_stmt_free_result($stmt);
    mysqli_close($this->connection);

    return $rows;

}

しかし、データベースをどのように変更しても、$rows は常に NULL です。なんで?fetchステートメントのため??

4

1 に答える 1

3

なぜ$row1 か所 (バインド) で使用して戻るの$rowsですか?

あなたのPHPインタープリターが私が見たものよりもはるかに高度で、単数形と複数形の変数名を自動的に関連付けることができない限り、それは悪い考えかもしれないと思いませんか:-)

そして、メモリから、おそらく変数からフェッチするに変数をバインドする必要があると思います。繰り返しになりますが、あなたの PHP が十分に高度であれば、何らかの形で一時的な操作を行うことができると思いますが、お金を賭けることはしません。


申し訳ありませんが、それはオーストラリアのユーモアですが、取得ページを調べると、次のように明確に記載されています。

mysqli_stmt_fetch() を呼び出す前に、すべてのカラムがアプリケーションによってバインドされている必要があることに注意してください。

今のところ、row/rows問題はあなたの質問の単なるタイプミスだったと思います。そうでない場合は、それも修正する必要があります。

于 2012-09-13T07:13:21.707 に答える