在'WHERE`_id`附近使用正确的语法

时间:2018-02-05 14:37:15

标签: php mysql codeigniter syntax-error

发生数据库错误 错误号码:1064

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第2行的'WHERE _id ='2'附近使用正确的语法

SELECT * WHERE `_id` = '2'

文件名:views / backend / header.php

这是我使用的代码;

$name = $this->db->get_where($this->session->userdata('login_type'), array($this->session->userdata('login_type').'_id' => $this->session->userdata('login_user_id')))->row()->name;

一旦我清除缓存,它就会工作但在大约两次登录后,错误会返回。 在我的本地主机上尝试它并且它完美地工作(直到现在),然后我将它上传到Ipower的服务器,我猜他们服务器上的MySQL版本是问题(MySQL - 5.6.37-82.2-log)。请问我该怎么办?如何重建此查询?

3 个答案:

答案 0 :(得分:3)

你忘记了想要称之为FROM的桌子:

SELECT * FROM `tablename` WHERE `_id` = '2';

如果添加Tablename,它将起作用。

答案 1 :(得分:0)

在这种情况下发布SQL无济于事。 You're missing the first parameter(table name) in get_where clause

<强> Synatx

$this->db->get_where('mytable', array('id' => $id), $limit, $offset)

<强>代码

$name = $this->db->get_where('tableName', array($this->session->userdata('login_type').'_id' => $this->session->userdata('login_user_id')))->row()->name;

重要

您在代码中使用了$this->session->userdata('login_type').'_id',它只是打印_id,这意味着,会话没有login_type

的值

答案 2 :(得分:-1)

必须按如下方式使用SELECT语句:

SELECT column1, column2, ...
FROM table_name;