I have problem with following querry: SELECT vyrobcovia.krajina AS "krajina", SUM( IF(tovar.ID_typu = 1 , faktura.mnozstvo * tovar.cena , 0)) AS "sprickobunda", SUM( IF(tovar.ID_typu = 2 , faktura.mnozstvo * tovar.cena , 0)) AS "vodacka_bunda", SUM( IF(tovar.ID_typu = 3 , faktura.mnozstvo * tovar.cena , 0)) AS "spricka", SUM( IF(tovar.ID_typu = 4 , faktura.mnozstvo * tovar.cena , 0)) AS "vesta", SUM( IF(tovar.ID_typu = 5 , faktura.mnozstvo * tovar.cena , 0)) AS "neprenove_oblecenie", SUM( IF(tovar.ID_typu = 6 , faktura.mnozstvo * tovar.cena , 0)) AS "termo_oblecenie", SUM( IF(tovar.ID_typu = 7 , faktura.mnozstvo * tovar.cena , 0)) AS "oblecenie_a_vybava_pre_deti", SUM( IF(tovar.ID_typu = 8 , faktura.mnozstvo * tovar.cena , 0)) AS "prilba", SUM( IF(tovar.ID_typu = 9 , faktura.mnozstvo * tovar.cena , 0)) AS "obuv", SUM( IF(tovar.ID_typu = 10 , faktura.mnozstvo * tovar.cena , 0)) AS "obal", SUM( IF(tovar.ID_typu = 11 , faktura.mnozstvo * tovar.cena , 0)) AS "ostatne", SUM( IF(tovar.ID_typu = 12 , faktura.mnozstvo * tovar.cena , 0)) AS "padlo", SUM( IF(tovar.ID_typu = 13 , faktura.mnozstvo * tovar.cena , 0)) AS "lod", SUM(faktura.mnozstvo * tovar.cena) AS "celkove prijmy" FROM faktura INNER JOIN tovar ON faktura.ID_tovaru = tovar.ID_tovaru INNER JOIN typ_tovaru ON typ_tovaru.ID_typu = tovar.ID_typu INNER JOIN vyrobcovia ON vyrobcovia.ID_vyrobcu = tovar.ID_vyrobcu GROUP BY vyrobcovia.krajina when I put it directly to MySQL through phpMyAdmin, everything is fine. Problem is when I put it in to variable $finalselect and use with this code: $result = @mysql_query($finalselect); if (!$result) { exit( mysql_error() . '</p>'); } error message is: 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 ' SUM( IF(tovar.ID_typu = 1 , faktura.mnozstvo * tovar.cena , 0)) AS "sprick' at line 1
maybe you need to use some escape '\' in your query assignment. Paste your $finalselect = "QUERY STRING" code.
$result = mysql_query("SELECT $stplecB FROM $tabulkaB"); $sum = ''; $i = 1; while ($row = mysql_fetch_array($result)) { $sum .= 'SUM( IF(tovar.ID_typu = '; $sum .= $i ; $sum .= ' , faktura.mnozstvo * tovar.cena , 0)) AS `'; $sum .= $row[$stplecB]; $sum .= '`,<br />' ; $i++; } $sum .= 'SUM(faktura.mnozstvo * tovar.cena) AS `celkove prijmy` <br />'; $from = ' FROM faktura INNER JOIN tovar ON faktura.ID_tovaru = tovar.ID_tovaru INNER JOIN typ_tovaru ON typ_tovaru.ID_typu = tovar.ID_typu INNER JOIN vyrobcovia ON vyrobcovia.ID_vyrobcu = tovar.ID_vyrobcu <br />'; $group = 'GROUP BY '; $group .= $tabulkaA; $group .= '.'; $group .= $stplecA; $finalselect = ' SELECT '; $finalselect .= $tabulkaA; $finalselect .= '.'; $finalselect .= $stplecA; $finalselect .= ' AS `'; $finalselect .= $stplecA; $finalselect .= '`, <br />'; $finalselect .= $sum; $finalselect .= $from; $finalselect .= $group; $finalselect .= ';'; echo $finalselect;
i don't understand this line: , i think <br /> can be removed... If you still get error post it if it's different.