Ukladání dat z XML do DB, vytvoří se špatný dotaz

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Tom_as
Člen | 28
+
0
-

Zdravím,

nevím jestli dělám něco blbě já nebo je to chyba jinde ale snažím se uložit XML data do DB.

$getTransactionsList = $this->getPage("https://www.fio.cz/ib_api/rest/periods/".TOKEN."/2013-09-29/2013-09-30/transactions.xml");

		$getTransactionsList = trim($getTransactionsList);
		$xml = new SimpleXMLElement($getTransactionsList);


		foreach ($xml->TransactionList->Transaction as $key => $val) {

			if($val->column_5 != ""){
				$this->context->TransactionsModel->saveTransaction($val);
			}

		}

Takto se ptám na XML a vkládám ho do Modelu.

V modelu mám pak tohle:

return $this->database->exec("INSERT INTO `".DB_PREFIX."__transactions` ?", array(
							    											"price" => $value->column_1,
							    											"customerNameAccount" => $value->column_10,
							    											"customerBankAccount" => $value->column_2,
							    											"customerCodeBank" => $value->column_3,
							    											"constantSymbol" => $value->column_4,
							    											"variableSymbol" => $value->column_5,
							    											"specificallySymbol" => $value->column_6,
							    											"paired" => "0",
							    												));

V proměné $value jsou data a když dám echo na určitou proměnou vypíše se.

A výsledná chyba hlásí tohle:

SQLSTATE[42000]: Syntax error or access violation: 1064 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 ')), (()), (()), (()), (()), (()), (()), '0')' at line 1

a vytvoří to tento dotaz:

INSERT INTO `fn__transactions` (`price`, `customerNameAccount`, `customerBankAccount`,
`customerCodeBank`, `constantSymbol`, `variableSymbol`, `specificallySymbol`, `paired`)
VALUES ((()), (()), (()), (()), (()), (()), (()), '0')

PHP 5.4.4 | Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.4.4 mod_perl/2.0.4 Perl/v5.10.1 | Nette Framework 2.0.11 (released on 2013–07–11)

Všem děkuji za pomoc

Tom_as

llook
Člen | 407
+
0
-

Myslím, že problém bude v tom, že ty hodnoty jsou objekty SimpleXMLElement, zkus je přetypovat na string ("price" => (string) $value->column_1, atd.).

Tom_as
Člen | 28
+
0
-

Hmm to me taky mohlo napadnout takova blbost :D. Mockrat dekuji za pomoc :)