Test data generator for PHP - Building a wrapper
In the previous lesson, Finishing the Image library for PHP, we designed a script and described what the core and entities will do. In today's tutorial, we're going to finish the core and fill our first database table with random names.
Database wrapper
Since our script will work with the database a lot, a very basic database wrapper simply won't do. Therefore, we're going to make it more sophisticated. Our script will be able to create a database table as well. That's why our database wrapper will include the createTableIfÂNotExists() method. The wrapper will contain the insertInto(), connect(), and query() methods. All of the methods will be static. Name your database wrapper something like DatabaseManager.
connect()
The connect() method will be very simple. The database wrapper will have a private static $db attribute where a PDO instance will be stored. We'll create the instance in the connect() method. The method will accept 4 parameters: a server, a database name, a user, and a password. Then, we'll tell connect() to set the encoding to UTF-8. The connect() method will gather all of this together:
class DatabaseManager
{
private static $db;
static function connect($server, $db, $user, $password)
{
self::$db = new PDO("mysql:host=$server;dbname=$db", $user, $password,
array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
}
}
query()
The query() method will execute
...End of the preview...

Premium article
ict.social is a large database made up of manuals and tutorials, whose main goal is to provide high-quality IT education to everyone. We started out in the Czech republic, where we display roughly a million articles per month and receive plenty of gratitude from our users. Thanks to our successful establishment, we are now bringing these articles to the rest of the world.
Although we are trying to keep our content free of charge, maintaining the site is a huge effort for everyone involved. Therefore, some content (exercises and more advanced material) costs network points. Don't worry, they're really cheap :)
Article description
Requested article covers this content:
In this tutorial, we'll finish the core used to generate random data into a MySQL database. We'll create a database wrapper and generate a table of names.
Buying this article gives you unlimited access to it forever. You will learn some more and help us keep giving our site maintenance which helps you and others get better futures. It's a win-win.
This article is licensed: Premium, by buying this article, you agree with the terms of use.
You gain points by supporting our network. This is done by sending a helpful amount of money to support the site, or by creating content for the network.
You can get points immediately using:
![]() |
![]() |
![]() |
Credit card | SMS | Wire transfer |