是否有可能将条件添加到mysql插入查询“

时间:2013-03-06 06:35:13

标签: php sql insert

我使用的代码将数据从数组中循环插入数据库。

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

不起作用:(

谢谢。

3 个答案:

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

    }

}