【问题标题】:is it possible to add if Condition to mysql insert query"是否可以将 if Condition 添加到 mysql 插入查询"
【发布时间】:2013-03-06 06:35:13
【问题描述】:

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

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 的结果,我运行另一个查询从数据库中删除它们

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

有没有办法在插入查询中添加 if Condition 而不是插入它们并删除它们? 我试过这样的想法:

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

没用:(

谢谢。

【问题讨论】:

  • 只需在循环中添加if ($value > 0)
  • 请尽量把你的问题说清楚。对你的格式感兴趣。即大写等。
  • @k102 成功了。谢谢

标签: php sql insert


【解决方案1】:

你可以在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')");
    }  

【讨论】:

    【解决方案2】:

    使用if语句检查值:

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

    请注意: mysql_ 扩展已被弃用,并且您的这种方式的代码容易受到 SQL injection 的攻击,请改用 PDO 或准备好的语句。

    【讨论】:

      【解决方案3】:

      您可以在 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'))";
      
          }
      
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-10-14
        • 1970-01-01
        • 2012-04-05
        • 1970-01-01
        • 1970-01-01
        • 2020-11-26
        • 1970-01-01
        相关资源
        最近更新 更多