die("Unable to connect to database (as $user to $host, database $db):" . pg_last_error());
}
+ $this->init();
+
return $this->link;
}
function escape_string($s, $strip_tags = true) {
if ($strip_tags) $s = strip_tags($s);
- return pg_escape_string($this->link, $s);
+ return pg_escape_string( $s);
}
function query($query, $die_on_error = true) {
- $result = pg_query($this->link, $query);
+ $result = pg_query( $query);
if (!$result) {
$query = htmlspecialchars($query); // just in case
- if ($die_on_error) {
- die("Query <i>$query</i> failed [$result]: " . ($this->link ? pg_last_error($this->link) : "No connection"));
- }
+ user_error("Query $query failed: " . ($this->link ? pg_last_error($this->link) : "No connection"),
+ $die_on_error ? E_USER_ERROR : E_USER_WARNING);
}
return $result;
}
return pg_last_error($this->link);
}
+ function init() {
+ $this->query("set client_encoding = 'UTF-8'");
+ pg_set_client_encoding("UNICODE");
+ $this->query("set datestyle = 'ISO, european'");
+ $this->query("set TIME ZONE 0");
+
+ return true;
+ }
}
?>