这是我现在的代码,它返回哈桑姆哈罗德配置文件为JSON,这是完美的。我需要做的是将我的参数传递到查询字符串中,而不是传入名称,以便在URL传递名称时查询从数据库中返回该人员的配置文件。当我改名字Hassum哈罗德变量$名字,我得到以下错误:CodeIgniter - 返回参数行
未知列在 'where子句' SELECT名字,SHORT_NAME,名望,生物与个人资料,其中name = Hassum%20Harrod
'Hassum'这是我的代码现在:
控制器
public function getPerson($name) {
// loads the DBModel.php
$this->load->model('DBModel');
$query = $this->db->query("SELECT name, short_name, reknown, bio FROM profile WHERE name = 'Hassum Harrod'");
$data['profile'] = $query->row();
$this->load->view('profileView', $data);
}
查看
echo json_encode($profile);
我曾尝试DOC例子如上图所示,但后来我得到的错误:未知列“巴罗特”在“where子句” SELECT名字,SHORT_NAME,名望,生物与个人资料,其中name =巴罗特%20Bellingham – Jacqueline
看来你首先需要'urldecode()'函数。在将变量传递给SQL语法之前,在'$ name'变量上使用它。像:'$ name = trim(urldecode($ name))'。 [文件](http://php.net/manual/en/function.urldecode.php)。尝试使用propper代码和编码标准。在SQL查询中对列名和表名使用反引号。 – Tpojka
Tpojka你给我的片段完美地工作,谢谢你。这正是我需要的。 – Jacqueline