ホームページ > バックエンド開発 > PHPチュートリアル > 空から空を引いた出力が 0 になるのはなぜですか?

空から空を引いた出力が 0 になるのはなぜですか?

WBOY
リリース: 2016-06-23 13:41:53
オリジナル
852 人が閲覧しました

次のような、データが 1 つだけ含まれるテーブル uuu があります:

$aaa = false;查询语句:'select * from uuu where id='.$aaa
ログイン後にコピー

このクエリを実行すると、false、' '、null などが返されますか?
私はこれを試しました:
$k = '' - '';$k = null - null;echo $k;
ログイン後にコピー

出力はすべて 0 です


ディスカッションに返信 (解決策)

$aaa=false;


$sql = 'select * from uuu where id='.$aaa;
var_dump($sql);

false 文字列に接続すると、空の文字列になります

出力は string(27) "select * from uuu where id="

上記の SQL mysql 構文検出は失敗するため、 give false が返された場合は、クエリが失敗したことを意味します

変数値を確認するには、echo を使用せず、var_dump を使用してください

クエリ コマンドは空のレコードを返すため、false であるかどうかは関係ありません。 、または null

レコードセットが空ではなく、フィールド値が null の場合、指定できる PDO を除き、他のデータベース関数は '' (空の文字列) を返します


$aaa = false; : 'select * from uuu where id='.$aaa

一致する id=false があるため、空を返します。


$k = '' - '';
var_dump($k);

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート