Jamie Balfour

Welcome to my personal website.

Find out more about me, my personal projects, reviews, courses and much more here.

Official ZPE/YASS documentationDatabase

Database is ZPE's driver-neutral JDBC connection structure. See Working with databases for a complete guide.

Constructor

new Database(string driver, string host, number port, string database, string username, string password) ⇒ Database
Opens a JDBC connection. An unsuccessful connection produces undefined.

Methods

is_open() ⇒ boolean
Returns whether the connection is open.
prepare(string sql) ⇒ DatabaseStatement
Creates a named prepared statement.
query(string sql, map? params) ⇒ list
Runs a query and returns each row as a map.
execute(string sql, map? params) ⇒ number
Runs an update and returns its affected-row count.
begin() ⇒ boolean
Begins a transaction.
commit() ⇒ boolean
Commits the current transaction.
rollback() ⇒ boolean
Rolls back the current transaction.
get_last_error() ⇒ string
Returns the latest JDBC error message.
close() ⇒ boolean
Closes the connection.

Example

YASS
$db = new Database("mysql", "localhost", 3306, "app", "user", "password")
$rows = $db->query("SELECT * FROM people WHERE id = :id", ["id" => 1])
$db->close()
  

Its implementation was made available in ZPE 1.14.9 (Spurriergate, September 2026).

Comments

There are no comments on this page.

New comment

Comments are welcome and encouraged, including disagreement and critique. However, this is not a space for abuse. Disagreement is welcome; personal attacks, harassment, or hate will be removed instantly. This site reflects personal opinions, not universal truths. If you can’t distinguish between the two, this probably isn’t the place for you. The system temporarily stores IP addresses and browser user agents for the purposes of spam prevention, moderation, and safeguarding. This data is automatically removed after fourteen days. Your email address is stored so that replies can be sent to your email address.

Comments powered by BalfComment

Feedback 👍
Comments are sent via email to me.