在Codeigniter中选择带有逗号和引号的列

问题描述

在升级旧代码时,我偶然发现了一个数据库的恐怖之处,该数据库的列名很奇怪,其中包括逗号和引号。由于其他情况,我无法重命名这些列,因此我必须找到一种解决方法。

这样的列看起来像

CREATE TABLE `file` (
    `id` int(12) NOT NULL,`number,street,city,sector` text,`client\'s_mobile` text
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

使用过时的 MySQL 函数的旧PHP代码似乎对这些列使用反引号(`)包围起来似乎没有问题。

现在,当使用Codeigniter 4的模型时,事情再也不会那么顺利了。当尝试获取client\'s_mobile列时,我这样做:

$fileModel = new \App\Models\FileModel();
$file = $fileModel->select('`client\'s_mobile`')->where('id',$id)->first();

它可以工作,但是当我用逗号将其替换时,它不会:

$file = $fileModel->select('`number,sector`')->where('id',$id)->first();

我得到一个例外说明

Unknown column 'street' in 'field list'

由于里面的逗号,它像4列一样读取整个列。 如何在可能的情况下指定仅此一列?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...