2012-04-07 11 views
-1

これは私の画面に表示されるエラーです。パラメータエラーPHP

警告:mysqli_fetch_assoc()は、パラメータ1がnull私はエラーが私のWHILEループわからないでもよいと思います

ライン52上/home/mjcrawle/onlinebanking/viewaccounts.phpで与えられ、mysqli_resultことを期待しています。しかし、私は自分のコードの構築が正しいと思います。あなたを教えしようとしている何

<?php 
    /*Accounts*/ 
    $currentMember->connection = $conn; 
    $accounts = $currentMember->retrieve_all_accounts(); 

    /*Loop thorugh account - Grabs data*/ 
    while($account = mysqli_fetch_assoc($accounts)){ 
     /*Retrieve Balance*/ 
     $bankaccount = new Bankaccount($account['BankAccountID']); 
     $bankaccount->connection = $conn; 
     $balance = mysqli_fetch_assoc($bankaccount->retrieve_current_balance()); 

     echo '<tr>' . "\n"; 
     echo "\t" . '<td>' . $account['BankAccountID'] . '</td>' . "\n"; 
     echo "\t" . '<td>$' . number_format($balance['CurrentBalance'], 2) . '</td>' . "\n"; 
     echo '<tr>' . "\n"; 
     } 

     /*Close DB*/ 
     mysqli_close($db->connection); 
?> 

     </tbody> 
     </table> 


       </div><!--End of main content--> 
      <?php 
       include(ABSOLUTE_PATH . 'footer.inc.php'); 
      ?> 

</div><!--end of header--> 
+0

明らかに、 'retrieve_current_balance'メソッドは' null'を返します。理由を明らかにする。 – Jon

+0

'while'ループに入っていますか?私が急いでデバッグしているとき、私はいつも 'die()'を使って、どこにあるのかを少しのメッセージで伝えます(つまり、 "私はwhileループの前です! 'instanceof'型の演算子(http://php.net/manual/en/language.operators.type.php)を使って' $ accounts'と '$ bankaccount-> retrieve_current_balance()'が'mysqli_result'クラスです。 –

答えて

0

このエラーは、データベースクエリでエラーが発生したことを示しています。あなたのエラーがどこかにあることを意味します。$accounts = $currentMember->retrieve_all_accounts();

+0

ありがとう...ありがとう –

0

$accountsが有効なのMysqli結果ではないということです。クエリを確認し、メソッドの署名がretrieve_all_accountsであることを確認します。正しい値が返されていること、およびクエリが正しく実行されていることを確認してください。

+0

ありがとう...ありがとうございました –

関連する問題