Database
The “DB” class provides a secure interface for database operations using mysqli with prepared statements. Supports debugging, query logging, and automatic parameter binding.
Select
DB::select(string $query, mixed ...$params): array
Execute a SELECT query and return all rows. SQL queries use ? placeholders that are automatically bound to the provided parameters.
Example:
$users = DB::select('SELECT * FROM users WHERE username LIKE ?', 'M%');
foreach ($users as $user) {
echo $user['username'];
}
Select One
DB::selectOne(string $query, mixed ...$params): array|false
Execute a SELECT query and return the first row, or false if no result.
Example:
$user = DB::selectOne('SELECT * FROM users WHERE username = ? LIMIT 1', $username);
if ($user) {
echo "User ID: " . $user['id'];
}
Select Value
DB::selectValue(string $query, mixed ...$params): mixed
Execute a SELECT query and return a single value from the first column of the first row, or false if no result.
Example:
$count = DB::selectValue('SELECT COUNT(*) FROM users WHERE active = ?', 1);
echo "Active users: " . $count;
Select Values
DB::selectValues(string $query, mixed ...$params): array
Execute a SELECT query and return an array of values from the first column.
Example:
$usernames = DB::selectValues('SELECT username FROM users WHERE active = ?', 1);
print_r($usernames); // ['john', 'jane', 'bob']
Select Pairs
DB::selectPairs(string $query, mixed ...$params): array
Execute a SELECT query and return key-value pairs using the first column as keys and the second column as values.
Example:
$userEmails = DB::selectPairs('SELECT id, email FROM users');
echo $userEmails[123]; // 'user@example.com'
Insert
DB::insert(string $query, mixed ...$params): int
Execute an INSERT query and return the last insert ID.
Example:
$userId = DB::insert(
'INSERT INTO users (username, password, created) VALUES (?, ?, NOW())',
$username,
password_hash($password, PASSWORD_DEFAULT)
);
echo "New user ID: " . $userId;
Update
DB::update(string $query, mixed ...$params): int
Execute an UPDATE query and return the number of affected rows.
Example:
$affectedRows = DB::update(
'UPDATE users SET username = ? WHERE id = ?',
$newUsername,
$userId
);
echo "Updated " . $affectedRows . " rows";
Delete
DB::delete(string $query, mixed ...$params): int
Execute a DELETE query and return the number of affected rows.
Example:
$affectedRows = DB::delete('DELETE FROM users WHERE username = ?', $username);
echo "Deleted " . $affectedRows . " rows";
Query
DB::query(string $query, mixed ...$params): mixed
Execute a query with optional debugging. Returns query result (array for SELECT, int for INSERT/UPDATE/DELETE).
Example:
$result = DB::query('CREATE TABLE logs (id INT PRIMARY KEY, message TEXT)');
Close
DB::close(): void
Close the database connection.
Example:
DB::close();
MintyPHP