A partir de PHP 7.1, cuando accede a una variable que no es una matriz (en este caso, una cadena) como una matriz, se generará un error fatal.
Primero inicialice la matriz, con $datos = [];
. Esto sobrescribirá todo lo que haya establecido anteriormente y establecerá explícitamente esta variable como una matriz:
$result->execute();
$result->bind_result($id, $name);
$datos = [];
while($result->fetch()){
$datos[]=array(
$id => $name
);
}
Si está intentando crear una matriz de $id
=> $name
, el siguiente código debería funcionar:
$result->execute();
$result->bind_result($id, $name);
$datos = [];
while($result->fetch()){
$datos[ $id ] = $name;
}