如果输入字段留空,则尝试 INSERT NULL
我正在尝试使用 PHP 将 NULL 插入到 mySQL 数据库中。
我得到:
$myVariable=$_POST[inputfield];
if(!is_numeric($myVariable) || $myVariable==0){
$myVariable=NULL;
}
我的数据库字段是十进制的,并且已设置 IS NULL。如果输入留空,它会不断恢复为 0.00。如果留空,如何设置 NULL,以便我可以调用 php if NULL 函数?
编辑 如果十进制的 NULL 调用不正确?
<? if ($debit==NULL || $debit=="0.00") {echo 'Awaiting Cost';}
elseif ($debit != NULL || $debit!="0.00") { echo "£$debit";}?>
这会正确显示我的消息,因此如果 NULL 对于小数没有用,我将保留 0.00。这是哈克吗?
对于那些提出问题的人来说,SQL 结构如下:
`myTableField` decimal(10,2) default NULL,
I'm trying to insert NULL into the mySQL databse with PHP.
I've got:
$myVariable=$_POST[inputfield];
if(!is_numeric($myVariable) || $myVariable==0){
$myVariable=NULL;
}
My database field is decimal, and IS NULL has been set. It keeps reverting to 0.00 if input is left blank. How do I set NULL if left blank, so I can call a php if NULL function?
Edit Calling if NULL in decimal is not correct?
<? if ($debit==NULL || $debit=="0.00") {echo 'Awaiting Cost';}
elseif ($debit != NULL || $debit!="0.00") { echo "£$debit";}?>
This displays my message correctly, so if if NULL is useless for a decimal i'll just leave 0.00. Is this hacky?
SQL structure for those who asked:
`myTableField` decimal(10,2) default NULL,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果您通过附加
$myVariable
变量的值来编写 SQL 语句,那么您应该查看它是否为NULL
并相应地修改 SQL 语句。例如,如果您的代码类似于:
那么您应该将其更改为:
If you are composing an SQL statement by appending the value of the
$myVariable
variable, then you should look if it'sNULL
or not and modify the SQL statement accordingly.For example, if your code is something like:
then you should change it to something like:
在 SQL 端尝试一下:
Try it on the SQL side:
尝试:
.
如果你的代码是:
MySQL 得到了字符串:
就像使用:
try:
.
if your code is:
the MySQL got the string:
it's like using :
您可以使用触发器过滤 MySQL 本身中的字段数据:
you can filter field's data in MySQL itself, using a TRIGGER: