这是我的情况:我需要选择user_id = x OR y OR z的所有消息.
我在PHP中有一个数组:
users = ('1', '2', '3')
Run Code Online (Sandbox Code Playgroud)
无论如何选择所有消息user_id =其中一个值而没有大量查询:
user_id = '1' OR user_id = '2' OR user_id = '3?'
Run Code Online (Sandbox Code Playgroud)
(我需要接收100多人的消息,因此效率低下)
谢谢
是! 您可以使用IN运营商:
user_id IN ('1', '2', '3')
Run Code Online (Sandbox Code Playgroud)
如果您的数组始终是安全的并且包含元素,则可以执行以下操作:
"user_id IN ('" . implode("', '", $users) . "')"
Run Code Online (Sandbox Code Playgroud)
在PHP中也是如此.
使用IN子句.
SELECT *
FROM YourTable
WHERE user_id IN ('1','2','3')
Run Code Online (Sandbox Code Playgroud)
这很容易做到:
$query = "SELECT * FROM table_name WHERE user_id IN('1','2','3')";
Run Code Online (Sandbox Code Playgroud)
由于您的值在数组中,您可以使用:
$users = array('1', '2', '3');
$user_id = "'" . implode("', '", $users ) . "'";
$query = "SELECT * FROM table_name WHERE user_id IN($user_id)";
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.