在PDO的where子句中签署“all”

问题描述 投票:0回答:2

是否有任何迹象可以在where子句中选择all?我有一个where子句,它基于一个基于登录的变量。我的问题是我想要在某个用户登录时选择所有内容。

$前缀基于用户是动态的。

("SELECT * FROM tabell WHERE prefix= '$prefix'"); 
php pdo
2个回答
0
投票

假设您在会话qazxsw i中有已登录用户,请尝试以下操作:

$_SESSION['user']

0
投票

因此,根据我们在评论部分中进行的讨论,我试图为您提供有关如何解决此问题的一些想法。

我认为你可以做的最好的事情之一是创建一个数组,其中所有用户都应该应用异常。这就是为什么我问你是否有办法从数据库中获取所有这些用户。那本来是完美的。但由于它似乎不是这样,我认为你必须手动维护阵列。

就像是:

$where = (isset($_SESSION['user']) && $_SESSION['user']=='certain-user') ? '':"WHERE prefix= '$prefix'"; $sql ="SELECT * FROM tabell $where"; 等......

然后,在查询数据库时,请执行以下操作:

$usersToCheck = array("Username1", "Username2", "Username3", "Username4");

我认为这是实现你想要的最简单方法之一。如果有可能维护你想要从数据库放入数组的用户,你甚至可以用PHP生成这个数组,你不必手动完成。

解决方案2:

你说:“检测用户不是probs,它是由一个会话完成的。”

我不确定你的意思。但是如果有类似if (in_array($_SESSION["username"], $usersToCheck)) { $query = "SELECT * FROM table1"; } else { $query = "SELECT * FROM table1 WHERE prefix = :prefix"; } 标志的东西,那么只需将这个用于if / else条件,如:

$_SESSION["isSpecialUser"]

我希望它对你有帮助。如果您有任何疑问,请随时询问:)

© www.soinside.com 2019 - 2024. All rights reserved.