【问题标题】:Medoo - Updating table row matching multiple fieldMedoo - 更新匹配多个字段的表行
【发布时间】:2014-11-11 06:08:48
【问题描述】:

我正在使用 Medoo。下面的更新适用于单字段匹配。如果与 clientId 和 businessCity 匹配,我想更新数据。

$database->update("clientInfo", array(
     "businessName" => $_POST['businessName'],
     "contactName" => $_POST['contactName'],
     "businessEmail" => $_POST['businessEmail'],
     "businessPhone" => $_POST['businessPhone'],
     "businessWebsite" => $_POST['businessWebsite'],
     "businessAddress" => $_POST['businessAddress'],
     "businessAddress2" => $_POST['businessAddress2'],
     "businessCity" => $_POST['businessCity'],
     "businessState" => $_POST['businessState'],
     "businessZip" => $_POST['businessZip']
), array(
    "clientId" => $_POST['clientId'],
    "businessCity" => $_POST['businessCity'],
));

我试过这样。但不适合我。

【问题讨论】:

  • 你使用的是 medoo 还是 cakephp ? bcoz 它似乎不是 cakephp 更新
  • 对不起,我正在使用 medoo。
  • 嗨,为什么不选择 cakePHP,你认为 medoo 更好吗? :) 哈哈

标签: php medoo


【解决方案1】:

echo $database->last_query();

使用此函数检查为调试而执行的 SQL 查询。

【讨论】:

    【解决方案2】:

    从 Medoo 文档中了解相对论条件:http://medoo.in/api/where

    只需将AND 连接器添加到每个值即可。

    $database->update("clientInfo", array(
         "businessName" => $_POST['businessName'],
         "contactName" => $_POST['contactName'],
         "businessEmail" => $_POST['businessEmail'],
         "businessPhone" => $_POST['businessPhone'],
         "businessWebsite" => $_POST['businessWebsite'],
         "businessAddress" => $_POST['businessAddress'],
         "businessAddress2" => $_POST['businessAddress2'],
         "businessCity" => $_POST['businessCity'],
         "businessState" => $_POST['businessState'],
         "businessZip" => $_POST['businessZip']
    ), array(
        'AND' => array(
            "clientId" => $_POST['clientId'],
            "businessCity" => $_POST['businessCity'],
        )
    ));
    

    【讨论】:

      【解决方案3】:

      例子:

      $datas = $db->update( "meta" , ["metalabel"=>$label[0][0]], ["AND"=>["metakey"=>"Collection", "metavalue"=>$_POST["metavalue"]] ]  );
      

      您必须使用逻辑运算符(AND 或 OR)设置一个数组,并且作为第一个值,您必须设置另一个数组...参见我上面的示例

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-06-15
        • 1970-01-01
        • 2014-08-21
        • 1970-01-01
        • 2017-09-03
        • 2021-07-28
        • 1970-01-01
        相关资源
        最近更新 更多