PHPackages                             naukakodu/php-mysql-connection - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. naukakodu/php-mysql-connection

ActiveLibrary[Database &amp; ORM](/categories/database)

naukakodu/php-mysql-connection
==============================

1.2.4(6mo ago)02MITPHPPHP &gt;=8.3

Since Apr 20Pushed 4mo ago2 watchersCompare

[ Source](https://github.com/naukakodu/php-mysql-connection)[ Packagist](https://packagist.org/packages/naukakodu/php-mysql-connection)[ RSS](/packages/naukakodu-php-mysql-connection/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (8)Dependencies (3)Versions (9)Used By (0)

Installation via composer
-------------------------

[](#installation-via-composer)

```
composer require naukakodu/php-mysql-connection

```

Features
--------

[](#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
-------------------------

[](#connection-usage-examples)

### Basic Connection

[](#basic-connection)

```
use Naukakodu\PhpMysqlConnection\Database;

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

    // ...
} catch (Exception $e) {
    echo $e->getMessage();
}
```

### Retrieving Data

[](#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

[](#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

[](#executing-other-queries)

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

### Accessing the PDO Object

[](#accessing-the-pdo-object)

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

### Configuration

[](#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
---------------------------

[](#querybuilder-usage-examples)

### Getting QueryBuilder

[](#getting-querybuilder)

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

### Available Query Methods

[](#available-query-methods)

#### Join

[](#join)

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

#### Limit

[](#limit)

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

#### OrderBy Asc

[](#orderby-asc)

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

#### OrderBy Desc

[](#orderby-desc)

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

#### Where

[](#where)

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

### Executing Query

[](#executing-query)

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

### Getting raw SQL

[](#getting-raw-sql)

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

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance71

Regular maintenance activity

Popularity2

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 95% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~27 days

Recently: every ~40 days

Total

8

Last Release

191d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/cc8edc0e3b9a6ac84235b33fbd8231ec027a1628717f32d38df3330d2bc78439?d=identicon)[naukakodu](/maintainers/naukakodu)

---

Top Contributors

[![ProfesorPerry](https://avatars.githubusercontent.com/u/32547109?v=4)](https://github.com/ProfesorPerry "ProfesorPerry (19 commits)")[![naukakodu](https://avatars.githubusercontent.com/u/208330170?v=4)](https://github.com/naukakodu "naukakodu (1 commits)")

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/naukakodu-php-mysql-connection/health.svg)

```
[![Health](https://phpackages.com/badges/naukakodu-php-mysql-connection/health.svg)](https://phpackages.com/packages/naukakodu-php-mysql-connection)
```

###  Alternatives

[doctrine/orm

Object-Relational-Mapper for PHP

10.2k285.3M6.2k](/packages/doctrine-orm)[jdorn/sql-formatter

a PHP SQL highlighting library

3.9k115.1M102](/packages/jdorn-sql-formatter)[illuminate/database

The Illuminate Database package.

2.8k52.4M9.3k](/packages/illuminate-database)[mongodb/mongodb

MongoDB driver library

1.6k64.0M545](/packages/mongodb-mongodb)[ramsey/uuid-doctrine

Use ramsey/uuid as a Doctrine field type.

90340.3M211](/packages/ramsey-uuid-doctrine)[reliese/laravel

Reliese Components for Laravel Framework code generation.

1.7k3.4M16](/packages/reliese-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
