ホームページ >データベース >mysql チュートリアル >MySQLi プリペアドステートメントに本物の NULL 値を保存するにはどうすればよいですか?

MySQLi プリペアドステートメントに本物の NULL 値を保存するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-02 12:59:02637ブラウズ

How to Store Genuine NULL Values in MySQLi Prepared Statements?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。