Autor | Zpráva | ||
---|---|---|---|
CZFilip Profil * |
#1 · Zasláno: 26. 9. 2008, 16:21:59
Ahoj,
používám pro práci s databází PDO a chtěl bych se zeptat, jak zachytávat chyby po provedení PDO::prepare a PDOStatement->execute. Ve zkratce: jde mi o to, jak slušně zapsat: if($query->errorCode()!='0000') { echo "PDOStatement::errorCode(): "; print_r($query->errorInfo()); } Předem děkuji za rady :o) |
||
nightfish Profil |
#2 · Zasláno: 26. 9. 2008, 16:51:07
na manuálové stránce se píše
If the database server cannot successfully prepare the statement, PDO::prepare() returns FALSE. neboli PDO::prepare() vrací false v případě, že nemůže v pořádku "připravit dotaz" takže bych to viděl na $stmt = $conn->prepare($query); if (!$stmt) Die("Failed to prepare query"); |
||
CZFilip Profil * |
#3 · Zasláno: 26. 9. 2008, 17:08:53
Děkuju za radu, trochu jsem projel manuál a našel jsem ještě jiné řešení, které se zdá být lepší, protože zachytává chyby od prepare i od execute najednou. Pro příklad:
public function query($SQL,$params) { try { $this->connection->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTI ON); $query = $this->connection->prepare($SQL); $query->execute($params); $result = $query->fetchAll(); return $result; } catch(PDOexception $e) { echo $e->getMessage(); exit; } } Zatím mi tohle řešení funguje dobře , ale jestli existuje ještě lepší řešení, tak se rád přiučim :) |
||
srigi Profil |
#4 · Zasláno: 26. 9. 2008, 19:58:52
CZFilip
Chytanie vynimiek uplne postacuje. |
||
Časová prodleva: 16 let
|
0