2012-02-27 3 views
1

私のステートメントが空であるかどうかを確認するにはどうすればよいですか?結合に何も含まれていない場合、以下のコードは何も表示しません。 IF文の最初の部分を表示するにはどうしたらいいですか(あなたのTo-Doリストは空です!)結合テーブルが空であることを確認する[PHPおよびMYSQL]

<?php 

    $statement = $db->query('SELECT * FROM todo_item as ti INNER JOIN todo_category as tc ON ti.todo_id = tc.todo_id'); 

    if (empty($db)) 
    { 
    echo "<p style='background-color:green;'><strong>Your To-Do List is Empty!</strong></p>"; 
    } 
    else 
    foreach($statement as $row): 
?> 

答えて

1

PDOを使用していますか? PDOStatement::rowCount

+0

タイトル:p – Mobilpadde

+0

を読んでみた$ statement-> rowCount()== 0 –

+0

MySQLはデータベースエンジンで、mysql、mysqli、およびPDOドライバをデータベースにアクセスするためにPHPで使用することができますまた、私が正しく覚えていれば、mysqli_stmtは反復することができません。 | @ジョンアーサーズ:私はうれしいです。 :-) –

3

あなたはmysql_num_rowsを実行し、返される行の数を確認できます。それが0の場合、クエリに一致するdb内に何もありません

+0

これはうまくいきましたが、今度はこれをスローします警告:mysql_num_rows()は、パラメータ1がリソースであることを期待しています。オブジェクトは50行目のindex.phpに与えられていますか? –

+0

mysql_num_rows($ statement)しましたか?または単にmysql_num_rows()? – dee

+0

mysql_num_rows($ statement)は警告を返します:mysql_num_rows()は、パラメータ1がリソースであることを期待しています。mysql_num_rows($ db)と同様にindex.phpに与えられたオブジェクトです。 –

0

try @mysql_num_rows($ statement);

行を数える別の方法は、 $ row = mysql_fetch_row($ statement);を使用することです。 $ records = $ row [0];

関連する問題