Alan = '$ dizi' mysql tablosundan seçin?

2 Cevap php

Ben diyelim ki bir dizi, bazı kullanıcıların kimlikleri varsa. Nasıl böyle bir şey yapabilirsiniz:

$array = array(1,40,20,55,29,48);
$sql = "SELECT * FROM `myTable` WHERE `myField`='$array'";

"- VEYA - VEYA - NEREDE YA" Bunu yapmak için basit bir yolu var mı, ben dizi öğeleri döngü ve daha sonra büyük bir kadar bina düşündüm açıklama ama bu büyük diziler için biraz yavaş olabileceğini düşündüm.

2 Cevap

Kullan IN:

$sql = "SELECT * FROM `myTable` WHERE `myField` IN (1,40,20,55,29,48)";

Eğer implode(",", $array) diziden araya listesini almak için kullanabilirsiniz.

Kullanmak istediğiniz IN:

WHERE `myfield` IN (1,40,20,55,29,48)

Kullan implode dizesini oluşturmak için:

$sql = "SELECT * FROM `myTable` WHERE `myField` IN (" . implode(',', $array) . ")";