检查数据库的id和值数组

时间:2016-09-09 04:31:16

标签: php mysql arrays

这就是$conversationArray数组的样子,

array(7) {
  [0]=>
  array(2) {
    ["id"]=>
    string(1) "1"
    ["timestamp"]=>
    int(0)
  }
  [1]=>
  array(2) {
    ["id"]=>
    string(1) "3"
    ["timestamp"]=>
    int(0)
  }
  [2]=>
  array(2) {
    ["id"]=>
    string(1) "4"
    ["timestamp"]=>
    int(0)
  }
  [3]=>
  array(2) {
    ["id"]=>
    string(1) "5"
    ["timestamp"]=>
    int(0)
  }

现在,如果任何会话ID的时间戳超过给定的时间戳,我必须检查一个表。如果是,我需要受影响的conversation_id。

我不确定如何从$conversationArray数组中获取 id 时间戳以适合此查询。

 $query = '   
  SELECT conversation_id FROM tbl_notification    
  WHERE timestamp IN >implode(',', $timestamp),   
  AND conversation_id IN >implode(',', $id)  
  ';  

1 个答案:

答案 0 :(得分:1)

您需要做的是将IDsTimestamps放在单独的数组中,并对每个数组执行implode()

要获取单独的数组,您可以使用array_column()从输入数组中的单个列返回值。

所以要在单个数组中获取ID和时间戳,你可以这样做,

$ids = array_column($mainarray, 'id');
$timestamps = array_column($mainarray, 'timestamp');

现在,您可以对每个人执行 implode()来查询数据库。

  

考虑使用Prepared语句进行SQL查询以避免SQL   注射攻击。