空から空を引いた出力が 0 になるのはなぜですか?
次のような 1 つのデータのみを持つテーブル uuu があります:
<br />$aaa = false;<br />查询语句:'select * from uuu where id='.$aaa<br />
ログイン後にコピー
このクエリを実行すると、false、' '、null、または何かが返されます。
私はこれを試しました:
<br />$k = '' - '';<br />$k = null - null;<br />echo $k;<br />
ログイン後にコピー
出力はすべて 0
-----解決策---------- --- --------$aaa=false;
$sql = 'select * from uuu where id='.$aaa;
var_dump($ sql);
false 文字列に接続すると、空の文字列になります
出力は string(27) "select * from uuu where id="
上記の SQL mysql 構文テストは失敗したため、クエリが失敗したことを示す false が返されました
------解決策のアイデア------ -- ---変数値を確認するには、echo を使用せず、var_dump を使用してください
------解決策のアイデア----------- ---- -------クエリ コマンドは空のレコードを返すため、false、' '、null のいずれであっても問題ありません
レコードが設定されたときが空ではなく、フィールド値がnullの場合 指定可能なPDO以外の他のデータベース関数が''(空文字列)を返す場合
-----解決案----- -------- ---------$aaa = false;
クエリ ステートメント: 'select * from uuu where id='.$aaa
が返す一致する id= false レコードがないため、空のレコードになります。
$k = '' - '';
$k = null - null;
var_dump($k);