【问题标题】:I can't add OR operator inside my sql query我无法在我的 sql 查询中添加 OR 运算符
【发布时间】:2015-06-24 05:30:36
【问题描述】:

我的代码如下所示:

$database->update($campaign_table, $data_nga_posti , array("AND" => ["codice_pod" => $data_nga_posti['codice_pod'],("codice_pdr" =>NULL) ]));

所以这是我的查询执行的时候:

UPDATE `field` SET `columnname` = 'data',`anothercm` = 'data',WHERE `codice_pod` = 'IT001E35563561' AND `codice_pdr` IS NULL

我希望我的查询看起来像这样。

UPDATE `field` SET `columnname` = 'data',`anothercm` = 'data',WHERE `codice_pod` = 'IT001E35563561' AND (`codice_pdr` IS NULL OR `codice_pdr` ="")

但我不知道如何将 OR(operator) 放在这段代码中。

【问题讨论】:

  • 你在使用某种框架或 ORM 吗?
  • 你能不能只使用 mysqli 和一个连接,然后自己构建查询而不是使用更新功能?
  • 不,先生,我这里没有使用任何框架。
  • @axhem 你也可以发布你的update() 方法吗?
  • 我们没有关于 $database 对象的更新方法的完整信息,请告诉我们你的方法和它是如何工作的

标签: php mysql sql medoo


【解决方案1】:

我以前从未使用过它,也没有什么可测试的,但the documentation 中发布的封闭示例是:

$database->has("account", [
    "AND" => [
        "OR" => [
            "user_name" => "foo",
            "email" => "foo@bar.com"
        ],
        "password" => "12345"
    ]
]);

所以我认为这对你有用:

$database->update($campaign_table, $data_nga_posti, [
    "AND" => [
        OR => [
            "codice_pdr" =>NULL, 
            "codice_pdr" => ""
        ],
        "codice_pod" => $data_nga_posti['codice_pod']
    ]
]);

【讨论】:

  • 是的,这对我有用,肯定有一些变化。所以非常感谢你的回答,这是我的第一个问题,也许我对我的问题不太清楚,反正第一个是第一个。 ..祝你好运:)
【解决方案2】:

试试这个:

array("AND" => ["codice_pod" => $data_nga_posti['codice_pod'],"OR" => ["codice_pdr" =>NULL,`codice_pdr` ="" ] ])

【讨论】:

  • 你怎么可能现在这会起作用?他甚至还没有发布他的update() 方法。
猜你喜欢
  • 2021-02-18
  • 2012-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-11
  • 1970-01-01
  • 2011-07-23
  • 2014-10-22
相关资源
最近更新 更多