我有(简而言之)这样的代码:

...
mysql_query("INSERT INTO table1 (x,y,z) VALUES (".$_POST['a'].",".$_POST['b'].",\"".$_POST['c']."\")");
...


a是数字值,b是数字,但形式为空,c是字符串值,可以为空(没有问题)。

Tthen for MySQL看起来像这样:

INSERT INTO table1 (x,y,z) VALUES (2,,"");


问题是值的一部分,在b中什么都没有。有什么解决方案可以使其正常工作吗?在数据库设置或PHP中。我的桌子很大,无法检查每个$_POST值。

谢谢

最佳答案

您可以这样使用查询:

mysql_query("INSERT INTO table1 (x,y,z) VALUES ('{$_POST['a']}', '{$_POST['b']}', '{$_POST['c']}')");


如果任何post superglobal为空,将传递''

关于php - 将$ _POST值插入MySQL表(如果某些为空),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17863129/

10-15 15:24