naukakodu/php-mysql-connection

Installs: 2

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 0

Open Issues: 0

pkg:composer/naukakodu/php-mysql-connection

1.2.4 2025-10-31 06:13 UTC

This package is auto-updated.

Last update: 2025-12-18 06:05:28 UTC


README

composer require naukakodu/php-mysql-connection

Features

The library offers a Database class with the following capabilities:

  • Establishing a secure PDO connection with a MySQL database
  • Executing SQL queries with prepared statements support
  • Retrieving single rows or entire result sets
  • Handling data insertion with the ability to retrieve the last inserted ID

Connection Usage Examples

Basic Connection

use Naukakodu\PhpMysqlConnection\Database;

try {
    $db = new Database('localhost', 'database_name', 'username', 'password');
    
    // ...
} catch (Exception $e) {
    echo $e->getMessage();
}

Retrieving Data

// Fetching all rows
$users = $db->fetchAll("SELECT * FROM users WHERE status = ?", ['active']);

// Fetching a single row
$user = $db->fetch("SELECT * FROM users WHERE id = ?", [1]);

Inserting Data

$userId = $db->insert(
    "INSERT INTO users (name, email, created_at) VALUES (?, ?, NOW())",
    ['John Smith', 'john@example.com']
);

echo "Added user with ID: " . $userId;

Executing Other Queries

$db->query("UPDATE users SET status = ? WHERE id = ?", ['inactive', 5]);

Accessing the PDO Object

$pdo = $db->getConnection();
// ...

Configuration

The default character set is utf8mb4. You can change it during initialization:

$db = new Database('localhost', 'database_name', 'username', 'password', 'utf8');

QueryBuilder Usage Examples

Getting QueryBuilder

$database = new Database('localhost', 'database_name', 'username', 'password');
$queryBuilder = $database->getQueryBuilder();

Available Query Methods

Join

$queryBuilder
    ->table('users')
    ->join('tasks', 'users.id', '=', 'tasks.user_id');

Limit

$queryBuilder
    ->table('users')
    ->limit(10);

OrderBy Asc

$queryBuilder
    ->table('users')
    ->orderBy('name'); // ASC

OrderBy Desc

$queryBuilder
    ->table('users')
    ->orderBy('name', 'desc'); // DESC

Where

$queryBuilder
    ->table('users')
    ->where('name', 'John');

Executing Query

$queryBuilder
    ->table('users')
    ->where('name', 'John')
    ->execute(); // Returning the array of rows

Getting raw SQL

$queryBuilder
    ->table('users')
    ->where('name', 'John')
    ->toSql();