linea 31
while ($fila = $resultado->fetchArray(SQLITE3_ASSOC)) {
donde $resultado viene de linea 29
$resultado=$db->exec($consulta);
el manual dice
http://php.net/manual/es/sqlite3.exec.phpValores devueltos
Devuelve TRUE si la consulta tuvo éxito, FALSE en caso de error.
y tu error dice
Fatal error: Call to a member function fetchArray() on boolean
Error fatal: Llamado a funcion fetchArray() en un booleano
revisa la documentación a ver donde se ubica el resultado del exec, porque el no lo retorna