dongxibeng5324 2009-04-07 18:29
浏览 57
已采纳

Codeigniter:MySQL Where子句和引号

Query in CodeIgniter:

$this->db->select('comments.created_at, comments.section_id, comments.submittedby_id, users.username, comments.text, sections.name');
$this->db->order_by('comments.created_at', 'desc');
$this->db->where('comments.submittedby_id',  'users.user_id'); 
$this->db->where('comments.section_id', 'sections.id'); 

$query = $this->db->get(array('comments', 'users', 'sections'),10);

Produce SQL Request:

SELECT pdb_comments.created_at, pdb_comments.section_id, pdb_comments.submittedby_id, pdb_users.username, pdb_comments.text, pdb_sections.name FROM (pdb_comments, pdb_users, pdb_sections) WHERE pdb_comments.submittedby_id = 'users.user_id' AND pdb_comments.section_id = 'sections.id' ORDER BY pdb_comments.created_at desc LIMIT 10

The issue is that the database prefix (pdb_) does not get added in the WHERE clause. I can manually insert the prefix by appending $this->db->dbprefix, but this doesn't fix the main problem.

Quotes:

`pdb_comments`.`submittedby_id` = 'pdb_users.user_id'

The quotes on the right side are not accurate, and generate 0 results for me. Is there any way to make CodeIgniter recognize the second half of the where clause as a piece of my table; thereby adding the database prefix, and properly placing the quotes by avoiding two joins? Is there another way to do this? Thanks in advance.

--

Jon

  • 写回答

2条回答 默认 最新

  • dongweicha6077 2009-04-07 19:15
    关注

    Use:

    $this->db->select('comments.created_at, comments.section_id, comments.submittedby_id, users.username, comments.text, sections.name');
    $this->db->from('comments');
    $this->db->join('users', 'comments.submittedby_id=users.user_id'); 
    $this->db->join('sections', 'comments.section_id=sections.id'); 
    $this->db->order_by('comments.created_at', 'desc');
    $query = $this->db->get();
    

    instead.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 找一个QT页面+目标识别(行人检测)的开源项目
  • ¥15 有没有整苹果智能分拣线上图像数据
  • ¥20 有没有人会这个东西的
  • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
  • ¥30 航迹分离,航迹增强,误差分析
  • ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败
  • ¥15 用Ros中的Topic通讯方式控制小乌龟的速度,走矩形;编写订阅器代码
  • ¥15 LLM accuracy检测
  • ¥15 pycharm添加远程解释器报错
  • ¥15 如何让子窗口鼠标滚动独立,不要传递消息给主窗口