• ベストアンサー

PHPでデータベースから値取得後、NULL値の判断

はじめまして 今回初めて質問させていただきます よろしくお願いします 早速なのですが、学校の課題が出されたのですが、PHPでMySqlからselect文でデータを引っ張って来たとき、NULL値の判断はどうしたらいいどでしょうか? 提出期限も迫ってきてこまってます よろしくお願いします

  • PHP
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • tsaito
  • ベストアンサー率68% (17/25)
回答No.2

> select文でデータを引っ張って来たとき、NULL値 select した結果が、0件だと言ってますか? それとも、select してきたデータのうち、特定のカラムの値が NULLかどうかと言ってますか? 前者だったら、Countが0かどうか 後者だったら、詰め込んだ変数をis_null()で チェックすればいいかと。

gimama
質問者

お礼

is_null()は習いました! アドバイスありがとうございます! 今から試してみます

その他の回答 (1)

回答No.1

実際にデータを取得して、それをprint_rしてみたらどうですか? 何かわかりますよ(やってみるというのが、大事です)

gimama
質問者

お礼

先生にもよく言われます… もう一度やりなおしてみます! アドバイスいただきありがとうございました(_ _)

関連するQ&A

  • mysqlからphpで値を取得する

    こんにちは、php初心者のBlackwinglsです。 mysql上に住所録があります。 mysql> select count(*) from jyusyo where seibetu = 'man' and name = 'tanaka'; とやると男性の田中さんは、6名と表示されます。 これをphpでやりたいのですが、 $sql ="select count(*) from jyusyo where seibetu = 'man' and name = 'tanaka'"; $result = mysql_query($sql,$con); ここから先の記述がよく分かりません。 mysql_fetch_array や mysql_result 等を試してみたんですが、基本的な事が分かってないので当然上手く動いてくれません(^^;) どなたかアドバイスを頂けたら幸いです。 環境 apache 1.3.26 mysql 3.23.49 php 4.1.2 ps php初心者にお勧めのWebPageありましたらあわせて紹介ください。

    • ベストアンサー
    • PHP
  • phpでmysqlを使ってデータベース内の最大値の取得

    PHPでMYSQL内テーブル(hogehoge)の「no」フィールドの最大値を取得をしたいのですが、ほしい結果が得られません。 【PHP】 -------------------------------------------------------------- $my_Max = "select max(no) from hogehoge"; $kekka_max = mysql_query($my_Max); -------------------------------------------------------------- no→今回最大値を取得したい項目(int) 【結果】 これをechoで出力すると、 ----------------------------- Resource id #4 ----------------------------- となってしまいます。 「no」の中の最大値を取得したいのですが、どうしたらよいでしょうか? 【環境】 WindowsXP mysql:5.0.51 php:5.2.5

    • ベストアンサー
    • PHP
  • PHPでデータベース(mySQL)から値を取りだすには

    PHPで値をmySQLに保存するコードを作成するのに 成功したのはいいのですが、値を取り出して 出力するコードがうまく書けません ネットで調べてみたり、参考書を読んで やっているのですがうまくいきません こういうコードを書いたのですが <?php $conn=mysql_connect("localhost", "user", "pass"); if (!$conn) { die('接続失敗です。'.mysql_error()); } mysql_select_db("database", $conn); mysql_query("SET NAMES 'ja-utf8'", $conn); $sql='SELECT caram, FROM table'; $row=mysql_query($sql, $conn); $res=mysql_fetch_assoc($row); echo htmlspecialchars($res, ENT_QUOTES); mysql_close(); ?> どこが間違っているかご指摘いただけると ありがたいです。

    • 締切済み
    • PHP
  • phpでデータベースを呼び出してデータがなかったら

    phpでデータベースを呼び出してデータがなかった場合の処理をif文を使って行いたいのですがどうしたらいいのでしょう? $result = mysql_query("select id from table where id = 1"); として1というidが入ってない場合$resultの中身はどうなるのでしょうか? if(idが存在しない時の条件) { echo "そんなデータ登録されてないよー" }else{ echo "$result" } としたいのですがifの条件の作り方がわかりません。 みなさんならどうしますか?

    • ベストアンサー
    • MySQL
  • ゼロとNULLを区別して number_formatしたい

    環境:MySQL4.0.25 と PHP4.3.11の組み合わせで、SQLで select data1 from mytable として、取り出したdata1には、次のようにNULLとゼロと数値が 混在しています。 4334.0028 8893.212233 4334.2 <NULL> 0 2.002 9893 桁がバラバラなので、これらに number_format(data1,2) としたら、 NULLまでもが0.00と表示されてしまいます。 今回、NULLとゼロ(0.00)は区別しなければならなので、 echo ($data1 == '') ? '' : number_format($data1,2) ; としましたが、効きません。WWWでイコール3つ(===)演算子を 使えば回避できるような情報を見かけましたが echo ($data1 !== '') ? number_format($data1,2) : '' ; としても、状況変わらず。何かうまい方法はないでしょうか。 なお、SQL側で format(data1,1) とするのはナシとしてご教示いただけ ますと幸いです(data1でいろいろ計算するのでformatされた値が 出てくると誤差の原因になってしまうためです)。

    • ベストアンサー
    • PHP
  • データベース(MySQL)にNULLとして格納

    下記サイトを参考にサイト上からデータベース(MySQL)のテーブルにレコードを追加できるようにしました。 http://ponk.jp/php/basic/php_mysql#page_index3 レコードの追加自体はできたのですが、テキストフィールドに何も記述されていない場合にNULLとして追加したいと思っているのですが、その方法が分かりません。 コードは次のようにしました。 $number = isset($_POST["number"]) ? $_POST["number"] : 'NULL'; $st = $pdo->prepare("INSERT INTO player(number) VALUES(?)"); $st->execute(array($number)); このコードで追加をすると、NULLではなく空白が格納されてしまいます。 どこを修正すればNULLとして格納できるようになるでしょうか? ご存知の方いらっしゃいましたらご教示ください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • データベースやSQL,PHPについて教えてください

    大学のレポート課題でわからないところがあったので困ってます。 1)データベースについて  ・定義したテーブルのテーブル名、列名、データ型について説明せよ  ・テーブルにデータを挿入するときに行われるSQL文を答えよ 2)PHPプログラムからデータを検索するときに行われるSQL文を答えよ この大きく分けて二点がよくわからず苦戦しています もしよければ教えてください、お願いします。

  • NULL値を含むソート

    MySQL4.0.20を使っています。 以下のようなデータをソートすると NULLが先に表示されます。 これをNULLを最後にして、数値のソートをかけたいです。何か解決策はありますか?2回に分ける方法しかないのでしょうか? nullと非null ◆元データ A --- 5 NULL 2 NULL 3 1 select A from xxx order by A asc; ●望まない結果 A --- NULL NULL 1 2 3 5 ●望む結果 A --- 1 2 3 5 NULL NULL ※話は変わりますが、4.1で日本語EUCの文字化けバグは直っているのでしょうか?

    • ベストアンサー
    • MySQL
  • データベースへの接続

    以前の質問の、PHP+MySQLの「データを検索して表示する」についての続きなのですが、データを検索すると、 DB Error: not found という画面が出ました。これは構文はあってるけどDBが見つからないって事なんですか? データベースは「速効!図解プログラミングPHP+MySQL」を見ながら、下記のように作りました。 mysql> show fields from member; +------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+---------------------+------+-----+---------+----------------+ | id | mediumint(9) | NO | PRI | NULL | auto_increment | | last_name | varchar(50) | YES | | NULL | | | first_name | varchar(50) | YES | | NULL | | | age | tinyint(3) unsigned | YES | | NULL | | +------------+---------------------+------+-----+---------+----------------+ 4 rows in set (0.01 sec) MYSQLをインストールした後で、XAMPPをダウンロードしたのですが、それが原因なんでしょうか? 解決策を教えてください。 質問ばかりしていますが、よろしくお願いします。

    • ベストアンサー
    • PHP
  • htmlからphpへの値の受け渡しについて

    いつも助けてもらってます。 今回も宜しくお願い致します。 現在、複数のhtmlページから一つのphpを呼び出しているのですが、 phpのselect文の中で各ページの持つ定数(変数?)を使用したいと考えています。 phpのselect文 SELECT * FROM ITEM WHERE ITEM_DIV = 各ページの定数(文字列) 各ページの定数は、必ず同じ物です(ダイエット、食品etc..) グーグルなどで調べた結果、 POSTやSESSION、FORMで出来そうな感じだったのですが、 渡すものがいつも決まっていて、かつ一つなので もっと簡単に渡せるんじゃないかな?と考えて投稿させてもらいました。 宜しくお願いします!!

    • ベストアンサー
    • PHP

専門家に質問してみよう