1. Go to this page and download the library: Download simplecomplex/database library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
simplecomplex / database example snippets
// Get or create client via the broker -----------------------------------------
/** @var \Psr\Container\ContainerInterface $container */
$container = Dependency::container();
/** @var \SimpleComplex\Database\DatabaseBroker $db_broker */
$db_broker = $container->get('database-broker');
/** @var \SimpleComplex\Database\MariaDbClient $client */
$client = $db_broker->getClient(
'some-client',
'mariadb',
[
'host' => 'localhost',
'database' => 'some_database',
'user' => 'some-user',
'pass' => '∙∙∙∙∙∙∙∙',
]
);
// Or create client directly ---------------------------------------------------
use SimpleComplex\Database\MariaDbClient;
$client = new MariaDbClient(
'some-client',
[
'host' => 'localhost',
'database' => 'some_database',
'user' => 'some-user',
'pass' => '∙∙∙∙∙∙∙∙',
]
);
// Insert two rows, using a prepared statement ---------------------------------
$arguments = [
'lastName' => 'Doe',
'firstName' => 'Jane',
'birthday' => '1970-01-01',
];
/** @var \SimpleComplex\Database\MariaDbQuery $query */
$query = $client->query('INSERT INTO person (lastName, firstName, birthday) VALUES (?, ?, ?)')
->prepare('sss', $arguments)
// Insert first row.
->execute();
$arguments['firstName'] = 'John';
// Insert second row.
/** @var \SimpleComplex\Database\MariaDbResult $result */
$result = $query->execute();
$affected_rows = $result->affectedRows();
$insert_id = $result->insertId();
// Get a row, using a simple statement -----------------------------------------
$somebody = $client->query('SELECT * FROM person WHERE personId > ? AND personId < ?')
->parameters('ii', [1, 3])
->execute()
->fetchArray();
// Get all rows, using a simple statement, and list them by 'personId' column --
$everybody = $client->query('SELECT * FROM person')
->execute()
->fetchArrayAll(DbResult::FETCH_ASSOC, 'personId');
// Create client via the broker ------------------------------------------------
/** @var \SimpleComplex\Database\MsSqlClient $client */
$client = Dependency::container()
->get('database-broker')
->getClient(
'some-client',
'mssql',
[
'host' => 'localhost',
'database' => 'some_database',
'user' => 'some-user',
'pass' => '∙∙∙∙∙∙∙∙',
]
);
// Insert two rows, using a prepared statement
// and arguments that aren't declared as sqlsrv typed arrays -------------------
$arguments = [
'lastName' => 'Doe',
'firstName' => 'Jane',
'birthday' => '1970-01-01',
];
/** @var \SimpleComplex\Database\MsSqlQuery $query */
$query = $client->query('INSERT INTO person (lastName, firstName, birthday) VALUES (?, ?, ?)', [
// SQLSRV_CURSOR_FORWARD to get affected rows.
'result_mode' => 'forward',
// For MsSqlResult::insertId().
'insert_id' => true,
])
->prepare('sss', $arguments)
// Insert first row.
->execute();
$arguments['firstName'] = 'John';
// Insert second row.
/** @var \SimpleComplex\Database\MsSqlResult $result */
$result = $query->execute();
$affected_rows = $result->affectedRows();
$insert_id = $result->insertId();
// Insert two rows, using a prepared statement
// and types empty (guess type argument's actual type)
// and arguments partially declared as sqlsrv typed arrays ---------------------
$arguments = [
[
'Doe',
SQLSRV_PARAM_IN,
null,
SQLSRV_SQLTYPE_VARCHAR('max')
],
[
'Jane',
],
'1970-01-01',
];
$query = $client->query('INSERT INTO person (lastName, firstName, birthday) VALUES (?, ?, ?)')
->prepare('', $arguments)
// Insert first row.
->execute();
// Insert second row.
$arguments[1][0] = 'John';
$query->execute();
// Get a row, using a simple statement -----------------------------------------
$somebody = $client->query('SELECT * FROM person WHERE personId > ? AND personId < ?')
->parameters('ii', [1, 3])
->execute()
->fetchArray();
// Get all rows, using a simple statement, and list them by 'personId' column --
$everybody = $client->query('SELECT * FROM person')
->execute()
->fetchArrayAll(DbResult::FETCH_ASSOC, 'personId');
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.