2016-12-31 9 views
-2

nullまたは空のフィールドを含む行の数を取得しようとしています。この行数が1以上の場合、ユーザーは、これらのレコードを完了するように指示するアラートを要求されますが、タイトルに記載されているエラーが発生しています。SQL PHPエラー:mysqli_num_rows()は、パラメータ1がmysqli_resultであると想定しています。ブール値が与えられています

コード:

function incompleteTechLog() { 

include 'config.php'; 

// Connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT * FROM tbl_flights WHERE pilot_initial_post IS NULL OR = '' AND is_deleted = '0'"; // program allows for soft deleting so this must be included in the query 
$result = $conn->query($sql); 
$rows = mysqli_num_rows($result); 

if ($rows >= 1) { 
    echo "<div class='alert alert-warning' role='alert'><strong>Minor Alert! </strong>" . $rows . " tech log(s) are incomplete. Please check all aircraft tech logs.</div>"; 
} else { 
    $conn = null; 
} 

} 

任意の助けいただければ幸いです。

+0

このエラーは通常、私は、コードとスキーマの上に行ってきた、とテーブルと列が間違いなく存在し、何のタイプミスがないSQLクエリ –

答えて

1

$conn->query($sql);FALSEを返したためです。あなたの電話$conn->query($sql);は成功しませんでした。

あなたはあなたの構文にエラーがあります:

$sql = "SELECT * FROM tbl_flights WHERE pilot_initial_post IS NULL OR = '' AND is_deleted = '0'"; 

は、OR演算子はFIELD_NAMEを必要

$sql = "SELECT * FROM tbl_flights WHERE (pilot_initial_post IS NULL OR pilot_initial_post = '') AND is_deleted = '0'"; 

に変更する必要があります。

デバッグの場合は、$conn->query($sql);コールにor die(mysqli_error($conn));を追加してください。

+0

に問題があったことを意味します。おそらくそれはクエリのIS NULL部分と関係があるでしょうか? – sinesine

+0

私の答えを更新しました。今度はクエリが正しく、$ conn-> query()の後ろにmysqli_errorを追加してエラーを解析します。 – user3606329

+0

私はあなたの質問を正確にコピーしましたが、それでも動作しませんでした。私は 'die(mysqli_error($ conn));'を追加し、 'where句'に 'pilot_initial_post'という未知の列を生成しました。 – sinesine

1

クエリが失敗したため、falseが返されています。

試してみてください。

SELECT * FROM tbl_flights WHERE (pilot_initial_post IS NULL OR pilot_initial_post='') AND is_deleted='0' 
+0

ありがとうございますが、これはうまくいきませんでした。 – sinesine

+0

データベース構造の画像をスナップして、捕捉すると予想される行の例を表示してください。 –

+0

私はPHPMyAdminでこれを行う方法がわかりませんが、問題はデータベースではないことは確かです。機能はほぼ同じですが、クエリにIS NULLを含めない私はそれが問題なのだと信じさせてくれました。 – sinesine

関連する問題