首页  >  文章  >  数据库  >  如何在 MySQLi 准备好的语句中保留 True NULL 值?

如何在 MySQLi 准备好的语句中保留 True NULL 值?

DDD
DDD原创
2024-11-04 12:06:02470浏览

How to Preserve True NULL Values in MySQLi Prepared Statements?

在 MySQLi 准备语句中操作 NULL 值

使用 MySQLi 准备语句时,处理 NULL 值可能有点棘手。默认情况下,MySQLi 将字符串的 NULL 值转换为空字符串 (''),将整数转换为 0。但是,在某些情况下,您可能希望保留实际的 NULL 值。

保留 True NULL 值

要在 MySQLi 准备好的语句中存储真正的 NULL 值,您可以使用 MySQL NULL 安全运算符 (<>=)。此运算符允许您正确比较 NULL 值。

示例:

<code class="php">$price = NULL;
$stmt = $mysqli->prepare("SELECT id FROM product WHERE price <> ?");
$stmt->bind_param('s', $price); // Bind the price as a string</code>

在此示例中,stmt 将从“product”表中选择行,其中“价格”列为 NULL。 <>运算符用于检查 NULL 和非 NULL 值,允许您准确处理 NULL 比较。

附加说明:

  • 使用 NULL 时安全运算符,您必须根据列的数据类型使用正确的绑定格式。例如,将 NULL 整数绑定为整数类型而不是字符串类型。
  • 对 NULL 以外的值使用 NULL 安全运算符时要小心。如果与非 NULL 值一起使用,它可能会产生意外的结果。

以上是如何在 MySQLi 准备好的语句中保留 True NULL 值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn