Proszę o pomoc.
Skrypt pobiera dane z bazy i wyświetla w infowindow.
Działają tylko te które w bazie mają liczby całkowite a te z dziesiętnymi już nie.
Przykład:
gdy w kolumnie 1, 2 i 3 są liczby całkowite (23,34 - 23 - 34) to ok . W chwili gdy w jednak pojawiają się liczby dziesiętne (23.5,34 - 23.5 - 34) pojawia się problem:
Kod
Query error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 11 - Invalid query:
SELECT
SUM(modify_effect.population),
SUM(modify_effect.culture),
SUM(modify_effect.gdp),
SUM(modify_effect.treasury),
SUM(modify_effect.military),
SUM(modify_effect.support)
FROM modify_effect
LEFT JOIN land_modifier
ON modify_effect.id = land_modifier.modify_effect_key
WHERE land_modifier.land_key =;
SELECT
SUM(modify_effect.population),
SUM(modify_effect.culture),
SUM(modify_effect.gdp),
SUM(modify_effect.treasury),
SUM(modify_effect.military),
SUM(modify_effect.support)
FROM modify_effect
LEFT JOIN land_modifier
ON modify_effect.id = land_modifier.modify_effect_key
WHERE land_modifier.land_key =;
większy wycinek kodu:
function get_count_of_account_land($account_key) { $this->db->select('COUNT(*) as count'); $this->db->from('land'); $this->db->where('account_key', $account_key); $query = $this->db->get(); $result = $query->result_array(); } // Get all modify effects function get_sum_effects_of_land($land_key) { $land_key = mysqli_real_escape_string(get_mysqli(), $land_key); $query = $this->db->query(" SELECT SUM(modify_effect.population) as population, SUM(modify_effect.culture) as culture, SUM(modify_effect.gdp) as gdp, SUM(modify_effect.treasury) as treasury, SUM(modify_effect.military) as military, SUM(modify_effect.support) as support FROM modify_effect LEFT JOIN land_modifier ON modify_effect.id = land_modifier.modify_effect_key WHERE land_modifier.land_key = " . $land_key . "; "); $result = $query->result_array(); return $result[0]; } return []; } // Get count of modifiers function get_sum_modifiers_for_land($land_key) { $land_key = mysqli_real_escape_string(get_mysqli(), $land_key); $query = $this->db->query(" SELECT modify_effect.id, modify_effect.name, COUNT(modify_effect.id) AS count FROM modify_effect LEFT JOIN land_modifier ON modify_effect.id = land_modifier.modify_effect_key WHERE land_modifier.land_key = " . $land_key . " GROUP BY modify_effect.id; "); $result = $query->result_array(); return $result; } return []; } // Get sum of effect values function get_sum_effects_for_account($account_key) { $account_key = mysqli_real_escape_string(get_mysqli(), $account_key); $query = $this->db->query(" SELECT SUM(modify_effect.population) as population, SUM(modify_effect.culture) as culture, SUM(modify_effect.gdp) as gdp, SUM(modify_effect.treasury) as treasury, SUM(modify_effect.military) as military, SUM(modify_effect.support) as support, ( SELECT COUNT(*) as land_count FROM land WHERE account_key = " . $account_key . " ) as land_count FROM modify_effect LEFT JOIN land_modifier ON modify_effect.id = land_modifier.modify_effect_key WHERE land_modifier.land_key IN ( SELECT id FROM land WHERE account_key = " . $account_key . " ) "); $result = $query->result_array(); return $result[0]; } return []; } // Get all modify of land function get_all_modify_effects() { $this->db->select('*'); $this->db->from('modify_effect'); $this->db->order_by('sort_order', 'asc'); $this->db->where('sort_order !=', 0); $query = $this->db->get(); return $query->result_array(); }
Czy ktoś może mi pomóc jak to rozwiązać? Gdzie szukać by to poprawić?