我使用的代码将数据从数组中循环插入数据库。
foreach ($sumdrinks1 as $key => $value) // insert each part of array into DB
{
mysql_query("INSERT INTO table (liq_sum, liq_name, bartender)
VALUES ('$value','$key','$id'))";
}
因为我不需要$ value = 0的结果,我运行另一个查询从DB中删除它们
mysql_query("DELETE FROM table WHERE liq_sum = 0");
有没有办法在插入查询中添加条件而不是插入它们并将它们删除? 我尝试了一些想法:
("INSERT INTO table (liq_sum, liq_name, bartender)
VALUES ('$value','$key','$id') where '$value' > 0)";
不起作用:(
谢谢。答案 0 :(得分:5)
你可以在php
中完成 foreach ($sumdrinks1 as $key => $value) // insert each part of array into DB
{
if($value>0)
mysql_query("INSERT INTO table (liq_sum, liq_name, bartender) VALUES ('$value','$key','$id')");
}
答案 1 :(得分:3)
使用if
声明检查值:
foreach ($sumdrinks1 as $key => $value)
{
if ($value > 0) {
... // do insert
}
}
请注意: mysql_
扩展程序已弃用,而且您的代码易受SQL injection攻击,使用PDO或准备好的语句。
答案 2 :(得分:0)
你可以在php代码中检查这个条件。
foreach ($sumdrinks1 as $key => $value) // insert each part of array into DB
{
if($value > 0) {
mysql_query("INSERT INTO table (liq_sum, liq_name, bartender) VALUES ('$value','$key','$id'))";
}
}