データベースのフィールドに値がない場合に”なし”と表示させたい - PHPプロ!Q&A掲示板

4865

  • 募集中!! 0P

データベースのフィールドに値がない場合に”なし”と表示させたい

質問日時 / 2017年9月30日 17:10    回答数 / 1件

Questioner:  kesuikeutosa  このエントリーをはてなブックマークに追加 

キーワード / データベース   

$sql = "SELECT * FROM テーブル名 where フィールド = 数値";
 $stm = $pdo->prepare($sql);
 $stm->execute();

  while($row = $stm->fetch(PDO::FETCH_ASSOC)){
  $name= $row['恒星名'];
  echo $name;
}

フィールドに数値がなかった場合に、”なし”と表示させたいのですが、どうしたらよいでしょうか?。emptyなどを試しましたがうまくいきません。
教えてください。よろしくお願いします。


ツリー一覧

┗A01shimix「フィールドに値がない」ではなく、where condition

回答一覧

並び替え:

A01 満足
answerershimix [10月2日 14:50] (最終編集:10月3日 12:59)

「フィールドに値がない」ではなく、where condition に該当するれレコードが存在しない(該当するデータの有無を判断したい)ということでしょうか(そのように読めるのですが、もし私の読解力不足だったら訂正お願いします)。
  1. $exists = false;
  2. while($row = $stm->fetch(PDO::FETCH_ASSOC)){
  3.      // $rowを使った処理
  4.      $exists = true;
  5. }
  6. if ($exists === false) {
  7.      echo "なし";
  8. }
出力するデータの有無(真偽値)を保持するのは、複数レコードが対象になるような場合に最初にヘッダを出力するとか(whileループのあとで)フッタを出力する判断としても必要になります。

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
ログファイルの中の空のデータ行を削除したい
 このエントリーをはてなブックマークに追加 
A
ログのデータ個数(列数)が固定で、空のログが"<><><>"だと既知であれば if ($line === "<><><>") { continue; } で読み飛ばしてもいいのでは? ...

>>続きを読む

まずは配列や文字列の扱いから、じっくり勉強して行きましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)