exec() vrací 0 i při ovlivnění řádku

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

Zdravím,

mám problém s metodou exec() z nette/database/connection. Provádím s ní update (i delete) a i v případě, že se update provede a řádek se fyzicky změní, exec() stále vrací 0 (podle dokumentace by měl vracet number of affected rows).

Zde je kód:

<?php
$data = Array(
	'title' => $entity->getTitle(),
	'text' => $entity->getText(),
	'cityid' => $entity->getCityid()
);
$response = $this->conn->exec("UPDATE news SET ? WHERE id = ?", $data, $entity->getId());
if($response <> 1) throw new Exception('Update statement affected '.$response.' rows.');
?>

Pokud kód spustím, vyhodí exception Update statement affected 0 rows, nicméně update se normálně provede. Pokud zakomentuji řádek s if, vše proběhne v pořádku (ale nemůžu ošetřit případné chyby)

Nevíte někdo kde je problém?

Verze Nette 2.0.6, PHP 5.4

Jan Tvrdík
Nette guru | 2595
+
0
-

@j0hny: Zkus aktuální verzi Nette.

j0hny
Člen | 33
+
0
-

Jan Tvrdík napsal(a):

@j0hny: Zkus aktuální verzi Nette.

To bohužel nemůžu, není to můj projekt, pouze do něj dodělávám část a tohle na mě není.. :(

bazo
Člen | 620
+
0
-

ved to vyskusaj, ak to pomoze presvedcis toho, kto o tom rozhoduje, aby aktualizoval nette