用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2205|回复: 3
收起左侧

求助 有关mysql 查询执行错误

[复制链接]
发表于 2010-6-23 18:15:56 | 显示全部楼层 |阅读模式
本帖最后由 lvxuezh 于 2010-6-23 22:01 编辑

今天在写程序的时候,碰到一个查询,感觉很奇怪,
$where = $this->uri->segment(5);
echo $where;--显示 where center in  (14)
$sql = "select e.exid from seed_farmer e " .$where;
$this->db->query($sql);

可是抱错,
Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds 。。。
可是我改为
$sql ="select e.exid from seed_farmer e where center in (14)";
却可以执行, 这是什么原因呢。

而且奇怪的是,如果$where = $this->uri->segment(5); echo $where --显示的是 where center = 14的话
$sql = "select e.exid from seed_farmer e " .$where;
$this->db->query($sql);
也可以正确执行。因为我需要的不是只有一个值,所以不能用=  需要用().
发表于 2010-6-24 00:12:54 | 显示全部楼层
-_- 这个貌似和 CI 关系不大。。
你放到 phpmyadmin 里肯定也不能执行。
还是检查自己的 sql 语句吧。
 楼主| 发表于 2010-6-24 08:32:36 | 显示全部楼层
放到phpmyadmin里的确可以执行的。。。这的确是让我感到很疑惑
发表于 2010-6-24 10:11:07 | 显示全部楼层
那这个就是见鬼了,因为 CI 也是调用 mysql_query();
如果不是见鬼了,就是 PHP 执行的并不是你在 phpmyadmin 里执行的,有可能是你疏忽了某些代码错误,仔细检查吧。

本版积分规则