我有(简而言之)这样的代码:
...
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/