【问题标题】:How to add like condition to existing query in moodle如何在moodle中向现有查询添加类似条件
【发布时间】:2019-01-03 14:38:37
【问题描述】:

我有一个带有多个条件检查的查询。 我想添加条件来检查 with like 子句。 我试过这样。

$params1['email'] =$DB->sql_like('email', '%'.$voucher_query.'%');

我将 params1 值传递给查询条件。我得到的查询不同,它不起作用。 这是我得到的查询。

SELECT COUNT('x') FROM tbl_order WHERE active_ind = ? AND id = ? AND email = ? [array ( 0 => 1, 1 => 236909, 2 => 'email LIKE %emelchor% COLLATE utf8_bin ESCAPE \'\\\\\'', )]

电子邮件条件正在检查等于但不与完全一样。谁能帮帮我?

提前致谢

【问题讨论】:

    标签: php sql-like moodle


    【解决方案1】:

    你没有显示你正在执行的函数调用来检索记录,但我猜它看起来像:

    $DB->get_records('order', $params);
    

    这种简单的DB语法只适用于equals比较,如果你想做更复杂的事情,你需要重写它以使用get_records_select函数,例如

    $select = 'active_ind = :ind AND id = :id AND '.$DB->sql_like('email', ':email');
    $email = '%'.$DB->sql_like_escape($voucher_query).'%';
    $params = ['ind' => $ind, 'id' => $id, 'email' => $email];
    $result = $DB->get_records_select('order', $select, $params);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多