首页 > 解决方案 > 如何在 Codeigniter 查询中找到非 ASCII 字符?

问题描述

下面的查询我已经为 mysql 尝试过,它工作正常,但我需要以 codeigniter 活动记录类的形式。

SELECT name FROM tblmarkets_football WHERE name <> CONVERT(name USING ASCII);

我尝试过这样的事情,但它不起作用我收到 500 错误.....

$wherestr = 'tblmarkets_football.name <>'. CONVERT(tblmarkets_football.name. ' USING ASCII');
$this->db->select('*');
$this->db->from('tblmarkets_football');
$this->db->join('tblmarkets','tblmarkets.id = tblmarkets_football.market_id','left');
$this->db->where($wherestr);

标签: phpmysqlcodeigniter-3

解决方案


Active Record 允许在 中使用自定义字符串WHERE,前提是您在转义时NULL在条件 & 中传递了一个值。FALSE

$wherestr = 
   'tblmarkets_football.name <> CONVERT(tblmarkets_football.name USING ASCII)' );
$this->db->where( $wherestr, NULL, FALSE );

->where()请参阅有关该方法 的文档: https ://www.codeigniter.com/userguide3/database/query_builder.html#looking-for-specific-data


推荐阅读