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で送る

この記事に対するトラックバック

この記事のトラックバックURL

-

管理人の承認後に表示されます

  • From: |
  • 2013/12/10(火) 21:40:47

-

管理人の承認後に表示されます

  • From: |
  • 2013/12/08(日) 17:11:17

-

管理人の承認後に表示されます

  • From: |
  • 2013/12/04(水) 20:16:46

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/29(金) 09:28:38

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/29(金) 03:19:36

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/15(金) 02:09:36

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/07(木) 07:10:19

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/06(水) 16:56:07

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/06(水) 14:21:41

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/05(火) 20:37:21

-

管理人の承認後に表示されます

  • From: |
  • 2013/11/03(日) 01:12:26

-

管理人の承認後に表示されます

  • From: |
  • 2013/10/31(木) 22:10:06

この記事に対するコメント

この記事にコメントする

管理者にだけ表示を許可する