MySQLは何も返さないとき$結果は何でしょうか?
-
26-09-2019 - |
質問
これは途方もなくシンプルに見えるかもしれませんが、私は何も返さないというクエリを処理する方法に応じて、エラーのすべての種類を取得してきました。
$query = "SELECT * FROM messages WHERE id > ".$messageId;
$result =mysql_query($query);
$time = time();
while(time()-$time<60 && $result==false)
{
$result = mysql_query($query);
}
if(result != false)
//Encode response
else
//return nothing
どのように私は私のmysql_query()は何も返されたかどうかをチェックしますか?
解決
あなたは(はmysql_num_rowsを使用して返される行数を確認することができます)。の
それは結果を取得するまであなたのループと仮定すると、クエリの何かにある、それは次のようになります。
while(time()-$time<60 && $num_rows == 0)
{
$result = mysql_query($query);
$num_rows = mysql_num_rows($result);
(ないことを確認、それは、データベース・サーバー上のひどい負担をかける可能性があるが、それは別の問題だとして何をここでやっていることは、本当に良いアイデアであるかどうか)
するmysql_query()のが唯一の "上false
を返します。本物」のエラー、例えばスペルミスのクエリまたは失われたコネクションます。
所属していません StackOverflow