Php 处理表单输入到SQL的空值
所以 我尝试创建动态SQL查询,假设: 如果GET或POST没有变量集,我们称之为Php 处理表单输入到SQL的空值,php,mysql,Php,Mysql,所以 我尝试创建动态SQL查询,假设: 如果GET或POST没有变量集,我们称之为notset 如果设置了_GET或_POST,但该值为空,则我们称之为empty 如果设置了_GET或_POST,但该值不为空,则我们称之为非空 现在我们可以轻松地将空的和非空的变量按原样存储在MySQL中(因为我们知道最终用户的意图,因为变量已经设置好了) 到目前为止,我们的地图: EMPTY & NON-EMPTY = whatever the value is... (对于MySQL中的日期列,因
notset
如果设置了_GET或_POST,但该值为空,则我们称之为empty
如果设置了_GET或_POST,但该值不为空,则我们称之为非空
现在我们可以轻松地将空的
和非空的
变量按原样存储在MySQL中(因为我们知道最终用户的意图,因为变量已经设置好了)
到目前为止,我们的地图:
EMPTY & NON-EMPTY = whatever the value is...
(对于MySQL中的日期列,因为它不允许为空,所以我们将其放入0000-00-00 00:00:00。我们将此逻辑用于插入和更新
NOT-SET in PHP = NULL in database? (since we don't know anything about the value)
现在,这非常适用于数据不存在的情况,例如INSERT语句,但是UPDATE语句呢
如果记录已经有一个值怎么办
我正在考虑使用NOT SET变量,以便在UPDATE语句中被忽略
因此,如果POST[“name”]未设置为INSERT
,那么我们仍然将其作为空值插入
INSERT INTO person (name) VALUES (POST["name"]);
但是,如果它是一个UPDATE
语句,我们将完全忽略它
UPDATE person
isNull(POST["name"]) ? SET name = POST["null"]
我的难题是,当这些变量未设置时,我们如何处理插入
和更新
?如果没有设置:
插入:
INSERT INTO person (name) VALUES (NULL);
更新:
INSERT INTO person (name) VALUES (NULL);
如果未设置,则不调用update,因为值可以是:
1) Null:如果为Null,则无需更新它
2) 不为Null:如果不为Null,则如果将其赋值为Null,则将失去值
PS:根据我对要求的理解,这是我的建议,但是
根据实际要求可能有所不同
字段1
字段2
字段3
你明白我想知道的。我知道我可以做你正在做的事情,但是有更好或者更简单的方法吗?好的,看看上面修改过的例子。没有比这更干的了。如果您只需要这些,请记住标记为已回答。如果您需要更多帮助,请发布您目前掌握的代码。谢谢谢谢,我对答案投了赞成票。我已经有了一个更加枯燥的代码,但是感谢您的尝试:)。