2013-03-06 50 views
0

我使用从阵列中的环中插入数据DB的代码。是有可能添加如果条件到MySQL插入查询”

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'))"; 
} 

becuse我不需要该$值= 0,I运行另一个结果?查询到从DB

mysql_query("DELETE FROM table WHERE liq_sum = 0"); 

删除它们是有办法在插入查询,如果条件补充,而不是将它们插入和delting他们 我试着像somethink:

("INSERT INTO table (liq_sum, liq_name, bartender) 
VALUES ('$value','$key','$id') where '$value' > 0)"; 

没有工作:(

谢谢。

+0

只需添加'如果($值> 0)'你的循环 – k102 2013-03-06 06:36:36

+0

内请尽量让你的问题清楚。对你的格式有兴趣。即大写字母等。 – uvinod 2013-03-06 06:37:43

+0

@ k102它的工作。谢谢 – BenB 2013-03-06 06:49:01

回答

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')"); 
    } 
+0

工作:)非常感谢! – BenB 2013-03-06 06:46:20

3

检查使用if语句中的值:

foreach ($sumdrinks1 as $key => $value) 
{ 
    if ($value > 0) { 
     ... // do insert 
    } 
} 

需要注意的是:mysql_扩展已被弃用,而你的代码这种方式很容易受到SQL injection ,请使用PDO或准备好的语句。

+0

我很好看。 (我是新编程)谢谢 – BenB 2013-03-06 06:47:00

+0

@batz - 不客气:) – 2013-03-06 06:47:35

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'))"; 

    } 

} 
+0

@batz welcome .. – 2013-03-06 06:54:44