MySQL veritabanı ile array_intersect_key PHP dizi

1 Cevap php

Ben diyelim ki, PHP basit bir dizi var

[1, 2, 4, 5, 6, 7]

ve ben bir MySQL veritabanını sorgulamak isteyen

[1, who]
[2, where]
[3, some]
[6, there]
[9, too]

Ben sadece PHP dizi ve veritabanının endeksleri sütun arasındaki kesişme satırları almak istiyorum. Yani bu neden olur

[1, who]
[2, where]
[6, there]

Herhangi bir fikir? Teşekkürler!

1 Cevap

Sen sql in anahtar kelimeyi istiyorum

SELECT id, title FROM tablename WHERE id IN (1, 2, 4, 5, 6, 7)

Sen kullanarak numaraların listesini hazırlayabilirsiniz:

$nums = array(1, 2, 4, 5, 6, 7)
$sql = 'SELECT id, title FROM tablename WHERE id IN (' . implode(',', $nums) . ')';

Düzenleme: Eğer giriş ile sadece sayı içerdiğinden emin olmak array_filter:

$nums = array_filter($nums, 'is_numeric');