php - 如何将 MySql 表中的行与 200 条记录的 JSON 数据匹配作为 PHP 中的输入

标签 php mysql json

我有一个数据库,其中包含 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/

相关文章:

jquery - Zabuto日历: How to load data via JSON without Ajax

php - 设计mysql表

php - MySQL WHERE IN 条件与 IFNULL 函数

php - 无法将数据从mysql数据库获取到arduino变量

mysql - 从 SQL 查询中的两列中查找唯一的首字母

json - 为什么 JSON.NET 添加所有这些反斜杠

php - mysql PDO ON DELETE CASCADE - 不工作

python - 将字典的字典展平为 python 中的列表

mysql - Varchar 上的索引是否会产生性能差异?

javascript - 使用 javascript/jQuery 循环遍历 JSON 结构