Jump to content
php.lv forumi

Mysql summēšana ar float vērtībām


Lynx

Recommended Posts

Problēma sekojoša: šādā te kverijā 'UPDATE db SET lauks=lauks+'.$float_tipa_skaitlis.' WHERE ... '; tiek mests errors, lai pārbaudot sintaksi. Labi zināms, ka, ja pieskaitam veselus skaitļus laukam viss strādā. Ir kāds veids kā šo problēmu viltīgi ar pašu mysql apiet, vai arī patiešām būs jaiet garš ceļš un jāapreiķina ar php un tad jainserto?

Link to comment
Share on other sites

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 '5 WHERE id = "1"' at line 1

 

Izskatās, ka pat noteicu kur varētu būt problēma, bet dīvaini ka tā notiek. Skaitli kuru būtu japieskaita datubāzes laukam mēs iegūstam float skaitli ar punktu pa vidu "0.5" reizinot ar citu nepāra skaitli piemēram 7iņi un galā iegūstam "3,5" - skaitli ar komatu pa vidu un tas nevēlas tikt sasumēts mysql kverijā. Un tagad jautājums kā lai es pārvēršu skaitli ar pa vidu punktu, nevis komatu? Meiģināju likt priekšā mainīgajam tipu (float), tapat reizināt un dalīit, etc, bez panākumiem.

Link to comment
Share on other sites

Tev prasīja ielikt pilnu kverija tekstu, bet neieliki, eh.. bet nu labi vismaz, ka pats saprati, kur vaina.

A par komatiem-punktiem: str_replace(',', '.', float_skaitlis) neder?

Tev MySQL stāv uz cita datora, nekā php?

Edited by bubu
Link to comment
Share on other sites

Njaa tik agresīvām metodēm kā str_replace vēl neķēros klāt :)

 

Šeit būs kverijs:

 

$db->query('UPDATE ships SET cargo=cargo+'.$weight_total.' WHERE id = "'.$ship['id'].'" ');

 

Php un mysql stāv uz viena un tā paša datora.

Link to comment
Share on other sites

Tu nesaprati. Ne jau php kods, kas izpilda kveriju, bet pats kverijs!

echo 'UPDATE ships SET cargo=cargo+'.$weight_total.' WHERE id = "'.$ship['id'].'" ';

Šito gribēju redzēt. Tad jau uzreiz būtu redzams, kur vaina.

Link to comment
Share on other sites

Hmm vispār ir iespējams kautkā php konfigurācijā to mainīt, lai reizināšanas rezultāts tiktu izvadīts ar punktu? Jo papētiju uz citiem serveriem, kur strādāju - reizināšanas rezultāts ir ar punktu un nekādas problēmas. Pārejot cauri konfigurācijas failam šādu vietu neatradu, bet nu kautkā uz citiem serveriem tas darbojas.

Link to comment
Share on other sites

×
×
  • Create New...