2

代码点火器 - PHP - Mysql。我在一个购物网站上工作,由于每个产品有大量的产品和客户定价选项(包括每个用户的不同价格的折扣等),所以在客户登录时创建了一个临时表。该表正在成功创建,但是当我浏览该站点时,它并不总是保持不变。

例如,如果我在站点的每个页面上运行一个查询说“从 Temp_Products 选择 *”,它会返回一个空集或说 Temp_Products 在某些页面上不存在。

我无法弄清楚问题出在哪里,似乎没有特定的模式或触发器导致此问题。

此外,电子商务网站通常如何实施目录和库存?任何信息都会有帮助!!

谢谢 !

4

2 回答 2

0

在数据库中创建一个表
:id - id_user - id_table
之后,在会话中放入允许您检索表项的字段。
创建一个库,允许您与 db es: Mytable 中的数据进行对话,并在此库中创建一些函数,从会话中的字段开始自动获取 db 上的项目。

于 2012-10-01T18:44:30.517 回答
0

如果您使用临时表,则存在一些缺陷。

首先,如果你使用持久连接(你永远不应该这样做),临时表将在 Ci-sessions 之间共享,因为持久连接在 CI-sessions 之间共享。这可能不是你想要的。

如果您不使用持久连接(您应该这样做),则临时表仅适用于当前请求。因为当 CI 实例在每个请求结束时停止时,它会清理其数据库连接,从而删除该连接的所有临时表。

在您的情况下,您可能需要使用会话 ID 作为键的“普通”表。不要忘记在会话结束后清理会话特定条目。这并不容易,因为 codeigniter 为此使用了一些延迟的垃圾收集机制。因此,您可能需要一个 cronjob 定期检查会话是否存在并对此采取行动。

于 2012-10-23T10:51:27.457 回答