php から sql(mysql)のデータを呼び出すのですが、該当するデータがないときに簡単に判別する(SQLをなげてデータがないときにfalse)を返す簡単な関数はないでしょうか? $result やって、fetch_row したりすればできるのはわかっているのですが、もっとストレートにできるほうほうはないでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/08/14 13:53:25
  • 終了:--

回答(2件)

id:eijun No.1

eijun回答回数26ベストアンサー獲得回数02005/08/14 14:58:16

ポイント50pt

ユーザ定義関数を使うしかないのではないでしょうか。


Function hoge($sql){

$result = mysql_query($sql);

if($result == false){

$retval = false;

return $retval;

}

$rows = mysql_num_rows($result);

if($rows >0){

//レコードがある場合の処理

}else{

$retval = false;

return $retval;

}

}

id:isogaya

直関数はないのですね。

2005/08/14 23:23:14
id:ito-yu No.2

ito-yu回答回数323ベストアンサー獲得回数142005/08/14 15:05:38

ポイント10pt

SELECTされた結果が0件だったとしても、それは正常なクエリ処理であって、即falseとするのはどう考えても変な仕様です。resultが返ってきてから、レコード件数を数えるのが本筋です。そのためにmysql_num_rowsのような関数があります。

id:isogaya

正しい間違っているの議論をしているのではないです。

2005/08/14 23:24:24
  • id:Yota
    mysql_data_seekで結果ポインタをさがして、先頭のポインタがなければエラーを返させればどうでしょう。

    $query = 'SELECT * FROM test';
    $result = mysql_query($query) ;
    if(!mysql_data_seek($result,0))
    echo"error" ;
    else
    echo"success" ;

    http://www.php.net/manual/ja/function.mysql-data-seek.php

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません