mysqli で結果セットが空かどうかを判断する最も簡単な方法は何ですか?
結果セットが空でないかどうかを判断するには、通常次のように記述する必要があることがわかりました:
if($result->num_rows>0) { }
ただし、次のように書くことはできません:
if($result)
var_dump($result); を使用して出力します。結果は
です。
オブジェクト(mysqli_result)#2 (0) { }
結果セットが空の場合、$result はメンバーのない空のオブジェクトであることがわかります。オブジェクトをブール型に変換する場合、メンバーのないオブジェクトは false に変換され、それ以外の場合は false に変換されると本で読みました。ここでは空のオブジェクトが false に変換されないのはなぜですか?
また、mysqlやPDOで結果セットが空であると判断する際に、レコード番号属性が0であると判断する必要があるのかどうかも質問したいです。