有一组用户 ID 的 POST 请求被传递到 PHP 脚本中。此集合正在与“user_table”中的现有 ID 进行比较。
这是通过将一个 id 数组连接成一个字符串来实现的,并且结果以逗号分隔的 id 字符串直接在查询中使用。
我担心这不会很好地扩展,并可能成为一场灾难!任何人都可以分享一些关于解决这类问题的传统方法的智慧吗?
$id_json_array = postVar('u');
$user_ids = json_decode($id_json_array);
$str_ids = join(',', $user_ids);
$result = mysql_query(
"SELECT u.user_id AS i
, u.user_name AS u
FROM user_table u
WHERE u.user_id IN ($str_ids)"
) or die (mysql_error ());
ids 数组可能有几千个,而“user_table”很大(数万或数十万,索引等)
提前致谢。