PHP code example of eb / mysql

1. Go to this page and download the library: Download eb/mysql 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/ */

    

eb / mysql example snippets


$db = Mysqli\Client::pool([
    [
        'user' => 'username',
        'password' => 'password',
        'defaultDB' => 'Sakila',
        'charset' => 'utf8',
        'lazy' => true,
    ],
    [
        'user' => 'username',
        'password' => 'password',
        'defaultDB' => 'Sakila',
        'charset' => 'utf8',
        'lazy' => true,
    ]
]);

$result = $db->asyncQuery('select sleep(1)');
sleep(1);
var_dump($result->rows()); // завершится быстрее чем за 2 секунды

$db = Mysqli\Client::pool([
    [
        'host' => 'master',
        'tags' => ['write'],
        'user' => 'username',
        'password' => 'password',
        'defaultDB' => 'Sakila',
        'charset' => 'utf8',
        'lazy' => true,
    ],
    [
        'host' => 'slave',
        'tags' => ['read'],
        'user' => 'username',
        'password' => 'password',
        'defaultDB' => 'Sakila',
        'charset' => 'utf8',
        'lazy' => true,
    ]
]);
$db->query('insert into `foo` ...', [], ['write']); // уйдёт на master
$db->query('select * from `foo` ...', [], ['read']); // уйдёт на slave


$db = Mysql\Client::init([
    'user' => 'username',
    'password' => 'password',
    'defaultDb' => 'Sakila',
    'charset' => 'utf8',
    'lazy' => true,
]);
~~~

Если опция `'lazy'` установлена в `true`, то подключение к базе данных создаётся не сразу, а при первом запросе.

### Запрос и получение данных

~~~php
$result = $db->query('
	select * from `Book`
	where `author` = :author
', [':author' => 'Мартин Фаулер']);

while ($row = $result->row()) {
	echo $row['title'], "\n";