2017-09-01 11 views
-3

私のデータベースには(WHERE文と同じです)1行ありますので、出力は1でなければならないので、 'Account Bestaat'と言う必要があります。mysqli count rows error

$アカウントを印刷すると、データベースに1つの配列が印刷されるため、スクリプトとdbとの接続が良好になります。

mysqli_num_rows() expects parameter 1 to be mysqli_result, null given.

私は前のmysql_queryを使用するので、私はmysqliのとあまりよくないよ。私は、行をカウントしたい場合しかし、それはエラーが発生します。

どうすれば$ num_accountに "1"を出力するように修正できますか?

  $connectie = mysqli_connect('localhost','*','*', '*') or die (mysqli_connect_error() . '<br><br>Kan geen verbinding krijgen met de almachtige timo server :D'); 
      $account_raw = mysqli_query($connectie,"SELECT * FROM accounts WHERE gebruikersnaam='".$gebruikersnaam."' AND wachtwoord='".$wachtwoord."'"); 
      $account = mysqli_fetch_assoc($account_raw); 
      $num_account = mysqli_num_rows($account); 

      if($num_account == 1){ 
       echo 'Account Bestaat'; 
      } 
      else { 
       echo 'Account Bestaat Niet'; 
      } 
+1

結果は$ account_rawない$ – clearshot66

+1

を占めているため、[リトルボビー](http://bobby-tables.com/は)[スクリプトがSQLインジェクション攻撃のリスクがある。] ***と言う(のhttp ://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)*** [prepared]について学ぶ(http://en.wikipedia.org/wiki/Prepared_statement) [MySQLi]に関する記述(http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)。 [文字列をエスケープする](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string)でも安全ではありません! –

+0

と完全に安全でないため、準備文を使用する方法を学んでください – clearshot66

答えて

3

これを試してください。

mysqli_num_rows($account_raw);