Ben hazırlanmış deyimleri kullanarak yeni msqli arayüze bazı eski kod ilerliyorum, ben IN yan tümcesi içeren SQL deyimleri ile sorun yaşıyorum. Ben sadece normalde bu yapardı:
$ids = '123,535,345,567,878'
$sql = "SELECT * FROM table WHERE id IN ($ids)";
$res = mysql_query($sql);
Mysqli'nin ve çözümleri bir dizi denedim hazırlanan tablolarda bu dönüştürme:
$ids = '123,535,345,567,878'
$ids = implode($ids,',');
$result = $msqli->prepare("SELECT foo,blar FROM table WHERE id IN (?));
$result->bind_param("i", $ids);
$result->execute();
Yukarıdaki başarısız olur ve SQL dize soru işaretleri dizi ve değiştiren sayıda elemanların sayısını hesaplamak ve dizideki her öğe için bind_parm çağrısında da başarısız olur. Sadece virgülle ayrılmış dize de başarısız kullanarak.
Bunun üzerine Google hiç iyi belgeleri bulabilirsiniz, bu yüzden nasıl sorunu çözmüş?