我有一个数据库,其中包含 10000 个具有唯一电话号码的用户。每当有新用户注册时,我都会尝试将他的所有联系人(将近 200 到 500 个)与我现有的数据进行匹配,以便我可以找到他的 friend (例如什么应用程序)
目前我正在使用 foreach 并且它非常慢,所以我需要帮助找到一个可靠的解决方案来减少多次查询所花费的时间。
请在下面找到我正在使用的代码。
$rawdata= file_get_contents('php://input');
$Matchedcontacts = array();
$jsonArray = json_decode($rawdata);
foreach ( $jsonArray as $value)
{
$contactNumber = ($value->num);
$emil= ($value->email);
$name=mysql_query("select * from TBL_USER where phone='".$contactNumber ."' OR email='".$email."'");
while ($nameres= mysql_fetch_array($name))
{
$Matchedcontacts [] = array('username'=>$nameres['username'], 'userid'=>$nameres['c_id']);
}
}
echo json_encode ($Matchedcontacts );
编辑:我也在为我发送的每条记录传递一个本地 ID。那么在匹配之后,如何将匹配的记录映射到特定的本地 ID?
最佳答案
您可能需要考虑将联系人列表导入到(临时?)表中,并使用连接。
关于php - 如何将 MySql 表中的行与 200 条记录的 JSON 数据匹配作为 PHP 中的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30244737/