PHPackages                             zilus/pdo - 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. zilus/pdo

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

zilus/pdo
=========

Simple PDO Class for small PHP projects

1.0.0(9y ago)0196MITPHPPHP ^5.3.3 || ^7.0

Since Jun 29Pushed 5y ago1 watchersCompare

[ Source](https://github.com/Zilus/pdo)[ Packagist](https://packagist.org/packages/zilus/pdo)[ Docs](https://github.com/Zilus/pdo)[ RSS](/packages/zilus-pdo/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependenciesVersions (2)Used By (0)

Simple PDO Class for small PHP projects
=======================================

[](#simple-pdo-class-for-small-php-projects)

You can use this small class to query your MySQL Server from back or/and frontend projects.

Install with composer
---------------------

[](#install-with-composer)

`composer require zilus/pdo:dev-master`

### Or add it to your composer.json

[](#or-add-it-to-your-composerjson)

```
"require": {
  "zilus/pdo": "dev-master"
}

```

### Use Autoload

[](#use-autoload)

`require_once 'vendor/autoload.php';`

Manual installation
-------------------

[](#manual-installation)

Download the source from here: [zip](https://github.com/Zilus/pdo/archive/master.zip)

Unzip and place the source files in a web accessible location. Then include or require (you can choose which method to use).

`require_once 'pdo/lib/pdo.class.php';`

Configuration
=============

[](#configuration)

The class expects 4 PHP constants, this if for practical use, you can create a config file or declare those constants however you want, heck, you can even pass it directly to the object.

### Via config.php

[](#via-configphp)

```
define('DB_HOST', 'localhost');
define('DB_USER', 'user');
define('DB_PASS', 'password');
define('DB_NAME', 'databse');

```

### Via object

[](#via-object)

`$database = new Database('localhost', 'user', 'password', 'database');`

Usage
=====

[](#usage)

### Insert data

[](#insert-data)

```
$database = new Database(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$sql="INSERT INTO table (name, lastname) VALUES (:name, :lastname)";
$database->query($sql);
$database->bind(':name', 'John');
$database->bind(':lastname', 'Doe');
$database->execute();

```

### As an array

[](#as-an-array)

```
$database = new Database(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$sql="INSERT INTO table (name, lastname) VALUES (:name, :lastname)";
$database->query($sql);
$database->bindArray(array(
	':name' => 'Jane',
	':lastname' => 'Doe'
));
$database->execute();

```

### Get the inserted ID

[](#get-the-inserted-id)

`$database->lastInsertId();`

### Chain querys

[](#chain-querys)

```
$database = new Database(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$database->beginTransaction();
  $sql="INSERT INTO table (name, lastname) VALUES (:name, :lastname)";
  $database->query($sql);
  $database->bind(':name', 'John');
  $database->bind(':lastname', 'Doe');
  $database->execute();

  $database->bind(':name', 'Jane');
  $database->bind(':lastname', 'Smith');
  $database->execute();

  $database->bind(':name', 'Mary');
  $database->bind(':lastname', 'Redford');
  $database->execute();
$database->endTransaction();

```

### Getting data (1 row)

[](#getting-data-1-row)

```
$database = new Database(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$sql="SELECT * FROM table WHERE name = :name";
$database->query($sql);
$database->bind(':name', 'Jenny');
$row = $database->single();
echo $row['name'];

```

### Getting data (several rows)

[](#getting-data-several-rows)

```
$database = new Database(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$sql="SELECT * FROM table WHERE lastname = :lastname";
$database->query($sql);
$database->bind(':lastname', 'Smith');
$rows = $database->resultset();
foreach($rows as &$row) {
  echo $row['lastname'];
}

```

### Use LIKE condition

[](#use-like-condition)

```
$database = new Database(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$sql="SELECT * FROM table WHERE name LIKE :name";
$database->query($sql);
$database->bind(':name', '%Jenny%');
$row = $database->single();
echo $row['name'];

```

### Get the row count

[](#get-the-row-count)

`$database->rowCount();`

### Update data

[](#update-data)

```
$id = 14;
$database = new Database(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$sql="UPDATE table SET name = :name, lastname = :lastname WHERE id = :id";
$database->query($sql);
$database->bind(':id', $id);
$database->bind(':name', 'Mary');
$database->bind(':lastname', 'Jane');
$database->execute();

```

### Update as an array

[](#update-as-an-array)

```
$id = 14;
$database = new Database(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$sql="UPDATE table SET name = :name, lastname = :lastname WHERE id = :id";
$database->query($sql);
$database->bindArray(array(
  ':id' => $id,
  ':name' => 'Mary',
  ':lastname' => 'Jane'
));
$database->execute();

```

### Delete data

[](#delete-data)

```
$id = 14;
$database = new Database(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$sql="DELETE FROM table WHERE id = :id";
$database->query($sql);
$database->bind(':id', $id);
$database->execute();

```

### print database errors

[](#print-database-errors)

```
$database = new Database(DB_HOST, DB_USER, DB_PASS, DB_NAME);
print_r($database->error);

```

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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

Unknown

Total

1

Last Release

3289d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1158317?v=4)[Oscar Azpeitia](/maintainers/Zilus)[@Zilus](https://github.com/Zilus)

---

Top Contributors

[![Zilus](https://avatars.githubusercontent.com/u/1158317?v=4)](https://github.com/Zilus "Zilus (15 commits)")

---

Tags

phppdo

### Embed Badge

![Health badge](/badges/zilus-pdo/health.svg)

```
[![Health](https://phpackages.com/badges/zilus-pdo/health.svg)](https://phpackages.com/packages/zilus-pdo)
```

###  Alternatives

[clouddueling/mysqldump-php

PHP version of mysqldump cli that comes with MySQL

1.3k23.1k](/packages/clouddueling-mysqldump-php)[eftec/pdoone

Minimaist procedural PDO wrapper library

1116.1k9](/packages/eftec-pdoone)[popphp/pop-db

Pop Db Component for Pop PHP Framework

1815.7k12](/packages/popphp-pop-db)[riverside/php-orm

PHP ORM micro-library and query builder

111.3k](/packages/riverside-php-orm)

PHPackages © 2026

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