gpt4 book ai didi

MySQL/PHP : updating empty int field inserts value of 0

转载 作者:行者123 更新时间:2023-11-29 01:23:11 24 4
gpt4 key购买 nike

我在 MYSQL 中遇到了一个非常令人烦恼的怪癖。

我正在使用 sql 语句更新现有记录。所有更新工作正常,除非它到达邮政编码,如果邮政编码的值为空,它会插入一个 0。如果该字段确实有一个值,它会毫无问题地插入正确的值。

zip 字段的数据类型是 int(11)。

查询中的sql语句如下:

$sql= "UPDATE memberinfo SET firstname = '$firstname', lastname = '$lastname', zipcode='$zipcode', emailadr='$emailadr' WHERE memberid= '$memberid'";

如果邮政编码为空,当您在更新之前回显它时,它会显示 zipcode = '',

MYSQL 插入 0 以响应某些事情。

我尝试删除 zip 值周围的撇号,但 MYSQL 抛出了一个错误,所以这不是修复。

有没有人遇到过这个问题,或者您能提出解决方案吗?

感谢您的任何建议。

最佳答案

$sql= "UPDATE memberinfo SET firstname = '$firstname', lastname = '$lastname', zipcode=" . (!$zipcode ? 'NULL' : (int)$zipcode) . ", emailadr='$emailadr' WHERE memberid= '$memberid'";

在这种情况下 - 如果 $zipcode 为空(空字符串或 0) - NULL 将被插入,否则为实际值

PS:确保你的 zipcode 字段是 NULLable

PPS:现在你得到 0 因为 mysql 将空字符串转换为整数,这是 0

关于MySQL/PHP : updating empty int field inserts value of 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11550760/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com