A partire da PHP 7.1, quando accedi a una variabile non array (in questo caso una stringa) come un array, verrà generato un errore fatale.
Inizializza prima l'array, con $datos = [];
. Questo sovrascriverà tutto ciò che hai impostato in precedenza e imposterà esplicitamente questa variabile come un array:
$result->execute();
$result->bind_result($id, $name);
$datos = [];
while($result->fetch()){
$datos[]=array(
$id => $name
);
}
Se stai cercando di creare un array di $id
=> $name
, il codice seguente dovrebbe funzionare:
$result->execute();
$result->bind_result($id, $name);
$datos = [];
while($result->fetch()){
$datos[ $id ] = $name;
}