2016-06-15 6 views
0

私はうまく実行されるクエリを持っていますが、何らかの理由でデータベースから一致するデータがないときに警告が表示されます。mysql_num_rowsはデータベースにデータが見つからなかった場合に警告を出します

$count = mysql_num_rows($qry); //warning here 

私は、エラーを非表示にする@を使用することができますが、これは限り私は知って良いプログラミングではないので、どのように私は、出力からの警告を非表示にできますか?

警告:警告:はmysql_num_rows()は、パラメータ1 リソース、[11]

$count = @mysql_num_rows($qry); //No warning 

ので、私が知っている行の[somepage.php]で与えられたブール値であることが期待します警告を隠す方法になりますが、わかりません。これについて私を助けてください。

+1

error_reporting(〜E_WARNING); –

+0

これは何ですか? –

+0

ブラウザの現在のページから警告を非表示にします。 –

答えて

2

警告を表示しないでこの問題を回避する必要があるという人もいます。彼らに耳を傾けないでください - 何かが間違っていることを警告しています。それらを抑圧することはその目的を全滅させる。

の代わりにmysql_の機能が廃止されていることをご存じであることを前提としています。他の人はこれについて言及しており、彼らは絶対に正しいです - mysql拡張のセキュリティ問題の束があります。 PHP 7にアップグレードしたい場合は、を完全に削除したので、mysqliを使用するように強制されます。

一般的に、何かが成功したリソースを返すとfalseが失敗した場合、リソースを使用する前に失敗を確認できます。これと同じように:ブール値として結果を確認することの代替として

$rslt = mysql_query($query); 
if (!$rslt) 
{ 
    // handle error 
} 
else 
{ 
    $count = mysql_num_rows($rslt); 
    // ... 
} 

、あなたはケースを交換してis_resourceを使用することができます。

+0

あなたの提案をありがとう。 –

+0

mysql_ *をまったく使用しない方が良い –

関連する問題