Sto spostando un vecchio codice nella nuova interfaccia msqli utilizzando le istruzioni preparate, ho problemi con le istruzioni SQL che contengono la clausola IN. Vorrei solo normalmente fare questo:Come si usano le clausole IN con le istruzioni preparate su mysqli
$ids = '123,535,345,567,878'
$sql = "SELECT * FROM table WHERE id IN ($ids)";
$res = mysql_query($sql);
Conversione ciò MySQLi e istruzioni preparate ho provato una serie di soluzioni:
$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();
che questo non riesce e calcolando il numero di elementi nella matrice e l'alterazione anche il numero di punti interrogativi nella stringa SQL e il bind_parm di chiamata per ogni elemento nell'array falliscono. Anche solo l'uso della stringa separata da virgola non riesce.
Non riesco a trovare alcuna buona documentazione su Google, quindi come hai risolto il problema?
Eventuali duplicati di [? PreparedStatement IN alternative clausola] (https://stackoverflow.com/questions/178479/preparedstatement -in-clausole-alternative) – bfavaretto