SELECT して該当なしだった場合、FALSE が返ってくるわけじゃなかった

  • 2012/04/07(土) 23:28:08

今さら唐突に DB について。
私すぐ忘れるのでメモしておく!

$result = mysql_query("SELECT * FROM table WHERE name LIKE '%$name%'");

したときに、もし該当するデータがなかったら $result FALSE になるのかなと思って

if(!result){
 echo ("該当データはありません");
}

って書いたけど、これじゃエラーメッセージは表示されない。
で、ググってたら教えて!goo が教えてくれた。

$resultはリソースです。正常にアクセスできたかを示すキーです。
実データではありません。
falseを返すのはconnectが不正とかいったパターンしかありませんよ。


DBで検索結果に該当するデータがなかった場合


ああ!マジで BA だな!!
なので、要するにこうすればよかった話。

$row = mysql_num_rows($result);
if($rows==0){
 echo "該当データはありません";
 exit;
}else{
//該当したときの処理


mysql_num_rows


よかった表示された(・∀・)

LINEで送る