如果语句与PHP会话和SQL

时间:2016-11-05 10:20:09

标签: php mysql session if-statement

因此在我的会话中是一个包含用户添加的各种序列号的表。还有一个数据库,其中包含相应序列号的信息。

我希望我的代码要做的是,对于会话中的每个序列,从数据库中提取相应的数据。现在,我只是回应一个字符串。

所以我想这样做,你必须循环遍历会话中的每个序列,并且每个必须检查数据库中是否存在相同的序列,如果存在,则回显一些。

问题在于它可以工作,但是当我在会话中有多个序列时,它只运行一次if循环。

当你在会话中有1,2,3和4个连续剧时,这就是回音。 http://pastebin.com/BcWMZ542

非常感谢任何帮助。

代码:https://gist.github.com/anonymous/f961509aa407f270d9325ed2aa40b42d

1 个答案:

答案 0 :(得分:0)

$_SESSION["cart"]的第一个foreach项目之后,您已经通过数据库结果循环。

这意味着,在下一个循环中,这将是空的: while($row = mysql_fetch_array($books, MYSQL_NUM))

首先,不要使用已弃用的mysql_类。

其次,首先循环遍历$_SESSION["cart"]信息并使用其中的信息将SQL写入

更好
SELECT * from tblbooks WHERE id IN ('the', 'list', 'of', 'ids') ORDER BY bookTitle asc

然后您不需要再次验证,您从数据库获得的所有结果都将是与您的会话匹配的条目。