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
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