【发布时间】:2019-01-10 06:36:38
【问题描述】:
我已经搜索过这个问题的答案,但在网上找不到任何东西。
我遇到了从计算机上的 mysql shell 运行时给出正确结果集的查询,但在 PHP 脚本中从 mysqli 运行时给出的结果集不同。
查询是:
SELECT q.pos, q.event_ID, e.name FROM (SELECT @row_number:=CASE WHEN @event_ID=e_ID THEN @row_number+1 ELSE 1 END AS pos, @event_ID:=e_ID as event_ID, u_ID from event_queue ORDER BY e_ID, dateadded) AS q INNER JOIN event AS e ON q.event_ID = ID WHERE q.u_ID=11;
如果这是从 mysqli 调用的,那么我得到的位置值 (q.pos) 为 1,如果从 mysql shell 运行,那么我得到的正确值为 4。我认为这是因为它使用了一个变量mysql代码,但我在网上找不到任何描述这个问题的东西。
有人能指出正确的方向吗?
谢谢。
【问题讨论】: