質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

1854閲覧

クエリの検索結果が空の時に if(!$変数)した時

amaguri

総合スコア227

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/12/08 06:17

$sql=select * from table where id = $id;
このクエリの返り値が検索結果がなかった場合

if(!$sql){}
とした場合
データの返り値は空となっていますがその場合
{}内の処理は動きますでしょうか?
体と値が入ってないということで
if(!$sql){}
の処理は実行されないのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

$sql=select * from table where id = $id;

このクエリの返り値が検索結果がなかった場合

ソースの提示が中途半端なのでなんともいえません
おそらく$sql自体をチェックすることは有効ではないので
なんらかのfetch処理をして戻り値がないのを確認したほうがいいと思います

投稿2016/12/08 06:27

yambejp

総合スコア114843

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

amaguri

2016/12/08 06:53

質問の仕方がわかるかすみません。 このクエリで検索をかけると 検索条件にヒットするデータがないので空が帰ってきます。 if(!$res)はつまり $resがFLASEの場合の処理という文になると思い $resは今回空の検索結果だったので {}内の処理がはしるとおもったのですが、!
amaguri

2016/12/08 06:57

すみません$resの処理が抜けていました。 $res=pg_query_parames($conn,$ress); $connにはサーバーのIDとpassが記載されております。
yambejp

2016/12/08 08:53

where でデータを絞ってデータが0件だったとしても $resはリンクIDを返すものですから常に正の値がかえってくると思いますよ pg_fetch_all()などでチェックしてはどうですか?
guest

0

ベストアンサー

!$sqlとした場合は、単に文字列の否定になるので、(SQL文を実行するかにも関係なく)必ず偽になります。

SQL文をクエリとして投げた結果については、クエリを投げるライブラリによって違ってきますので、その環境が不明だとわからないです。

投稿2016/12/08 06:25

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

amaguri

2016/12/08 06:49

この場合処理が $resが有効じゃない場合が $resがFLASEの場合というという分に読み解け $resは空なのでFLASE つまり{}内の処理が走るのではないかと思ったのですが認識が全然ちがうのでしょうか?
maisumakun

2016/12/08 06:52

「$res」は何が入る変数なのでしょうか。どちらにしても、これだけで判断できることは多くありません。
amaguri

2016/12/08 06:56

すみません$resの処理が抜けていました。 $res=pg_query_parames($conn,$ress); $connにはサーバーのIDとpassが記載されております。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問