MySQLi プリペアド ステートメントの NULL
MySQLi プリペアド ステートメントでは、NULL 値は文字列の場合は空の文字列に、整数の場合はゼロに自動的に変換されます。これは、特に NULL を本物の null 値として保存したい場合には、必ずしも望ましいとは限りません。
解決策: MySQL NULL Safe Operator
NULL 値を正しく保存するにはMySQLi プリペアド ステートメントの場合は、MySQL NULL セーフ演算子 "<=>":
構文:
field_name <=> ?
例:
次の PHP コードを考えてみましょう:
<code class="php">$price = NULL; // Note: no quotes - using PHP NULL $stmt = $mysqli->prepare("SELECT id FROM product WHERE price <=> ?"); // Will select products where the price is NULL $stmt->bind_param('i', $price);</code>
このコードは、$price 変数が NULL の場合にデータベースに NULL を正しく格納します。
以上がMySQLi プリペアドステートメントに本物の NULL 値を保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。