0

在使用 codeigniter 时,我在会话中保存了当前查询,以便我可以在详细页面中显示分页意味着 prev/next 按钮详细屏幕。但是当我在查询中使用 LIKE %10% 时,它会在主页中显示它存储在会话中但是当我转到详细页面,它不在会话中。任何猜测我没有将会话存储在数据库中,如用户指南中所述

我的查询很简单

SELECT Contac.cm_id 
FROM Contact 
LEFT JOIN Employer 
    ON (Contact.c_id = Employer.ei_contact_id) 
        AND (Employer.ei_primary_employer = "Y")
WHERE ( Contact.cm_staff_name LIKE '%s%' 
    AND Contact.cm_staff_name NOT LIKE 'NULL' ) 
ORDER BY Contact.cm_id ASC

因此,当 03Contact.cm_staff_name LIKE '%03%'没有通过 session 将该查询从一个页面传递到另一个页面时。另外请建议是否有更好的解决方案而不是使用会话。任何猜测

4

1 回答 1

1

将程序存储在任何地方都是没有意义的。
程序必须以常量形式编写并以动态变量为输入。

使用会话进行分页也是错误的想法 - 例如看看谷歌 - 他们总是使用查询字符串来传递下一页的变量。它会让用户为某个页面添加书签或将其发送给朋友或其他任何人。当朋友向您发送链接但您没有他们的会话并且看不到他们看到的内容时,这总是很痛苦。

因此,直接在代码中编写查询,
通过 GET 查询字符串传递所有变量,
并使用准备好的语句将变量插入查询

于 2013-05-21T07:42:37.500 回答