2

我的 php 脚本将用户 ID 列表保存在 SESSION ARRAY 变量中,以便在该页面上创建 html 链接。

当我们单击该 html 链接时,另一个PHP脚本应在 html 表中显示该用户 ID 的所有用户信息。

我需要你知道为此创建SELECT查询的最佳实践

1) SELECT * from `users` WHERE  
`user_id` = '$array_valuer1' OR 
`user_id` = '$array_valuer2' OR 
`user_id` = '$array_valuer3' OR 
`user_id` = '$array_valuer4' OR 
`user_id` = '$array_valuer5' OR 
`user_id` = '$array_valuer6' OR 
----
----
`user_id` = '$array_valuern';

2) select all user --> SELECT * from `users`
   then using php script display only the userid in the SESSION array and skip other userid

哪个是最佳实践?SESSION 数组是临时的,我不想保存在数据库中。

谢谢

4

2 回答 2

3

如果您在会话中存储少量用户 ID,则可以。但如果数量很大,请不要将它们存储在 SESSION 中。最好使用查询来获取它们。

关于查询,您可以使用以下表格。

$q = "SELECT * from `users` WHERE `user_id` IN ('".implode("','", $array)."')";
于 2013-01-23T07:44:36.000 回答
1

shiplu.mokadd.im 答案很好,但使用 PDO 更好:

$db = new PDO("...");
$statement = $db->prepare("SELECT * from `users` WHERE `user_id` IN (':list')");
$statement->execute(array(':list' => implode("','", $array)));
$row = $statement->fetch();
于 2013-01-23T07:47:50.970 回答