volani closeCursor po exec

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

Ahoj mam neco takoveho

public function __construct(Nette\Database\Connection $db)
    {
        $this->db = $db;
.
..
.
.
.
	$stmt = $this->db->exec($sql);

        $stmt->closeCursor();
    }

vysledek Call to a member function closeCursor() on a non-object

zkousel jsem to dle

# Nette 2.0.x
$stmt = $connection->query() // vrací PDOStatement, volá se rovnou
$stmt->closeCursor()

:(

vosy
Člen | 532
+
0
-
$this->db->exec($sql)->getPdoStatement()->closeCursor();

Call to a member function getPdoStatement() on a non-object

enumag
Člen | 2118
+
0
-

Jej srry. exec je deprecated, použij query nebo queryArgs. Ty vrací instanci ResultSet, kde už může zavolat to getPdoStatement.

Editoval enumag (11. 10. 2013 13:41)

David Matějka
Moderator | 6445
+
0
-

@enumag: tohle je pro 2.1, v 2.0 to je jinak :)

@vosy: to

$stmt = $connection->query();
$stmt->closeCursor();

by fungovat melo, co to hlasi?

enumag
Člen | 2118
+
0
-

@matej21: No když nepoužil ten 2.0 kód co sám uvedl tak předpokládám že právě používá 2.1. Pokud používá 2.0 tak to jen špatně zkopíroval a použil exec místo query.

Editoval enumag (11. 10. 2013 14:08)

David Matějka
Moderator | 6445
+
0
-

jo, mas pravdu, spatne jsem to pochopil :) tim padem mas pravdu

vosy
Člen | 532
+
0
-

pouzil jsem

$this->db->query($sql)->closeCursor();

a workuje to fain

pouzivam verzi 2.0.x

Editoval vosy (11. 10. 2013 14:29)