PHP code example of chengf28 / dbquery

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

    

chengf28 / dbquery example snippets


use DBquery\DBquery;
$config = [
    // 预留配置,可不填写,目前仅支持mysql
    'dbtype' => 'MYSQL',
    'host'   => '127.0.0.1',
    'port'   => 3306,
    'dbname' => 'databasesname',
    'user'   => 'root',
    'pswd'   => 'root'

];
DBquery::config($config);

DBquery::table('table_name')->all();

$config = [
    'dbtype' => 'MYSQL',
    'host'   => '127.0.0.1',
    'port'   => 3306,
    'dbname' => 'databasesname',
    'user'   => 'root',
    'pswd'   => 'root'
];    

$config = [
    // 预留配置,可不填写,目前仅支持mysql
    'dbtype' => 'MYSQL',

    'read' => [
        'host'   => '127.0.0.1',
        'port'   => 3306,
        'dbname' => 'databasesname',
        'user'   => 'root',
        'pswd'   => 'root'
    ],

    'write' => [
        'host'   => '127.0.0.1',
        'port'   => 3306,
        'dbname' => 'databasesname',
        'user'   => 'root',
        'pswd'   => 'root'
    ],
];

$config = [
    // 预留配置,可不填写,目前仅支持mysql
    'dbtype' => 'MYSQL',
    'read' => [
        'host'   => '127.0.0.1',
        'port'   => 3306,
        'dbname' => 'databasesname',
    ],
    'write' => [
        'host'   => '127.0.0.1',
        'port'   => 3306,
        'dbname' => 'databasesname',
    ],
    // 相同用户名和密码,其他配置相同也可以
    'user'   => 'root', 
    'pswd'   => 'root',
];

$config = [
    // 此处主要,一定要放在connects 作为key,值为数组,可以为 索引数组或者关联数组
    'connects' => [
        // 数据库配置,规则和上面的$config一致

        [ // 第一个数据表的配置
            'host'   => '192.168.1.1',
            
        ],
        [ // 第二个数据表的配置
            'host'   => '192.168.1.2',
            ...
        ]
    ]
]

// 默认使用第一个 即 connects[0] 的配置
DBquery::config($config);
// 切换其他数据库 ,第一个 connects[1]的配置
DBquery::connect(1);

/**
 * 使用关联数组
 */
$config = [
    'connects' => [
        // 和上方配置区别在于,此处使用关联数组
        'db1' => [ 
            ...
        ],
        'db2' => [ 
            ...
        ]
    ]
]

// 默认使用第一个 即 connects['db1'] 的配置
DBquery::config($config); // 全局调用一次即可
// 切换其他数据库 ,第一个 connects['db2']的配置
DBquery::connect('db2');
...
// 操作后可以再次切换
DBquery::connect('db1');
...

$config = ['db1'=>[
    // 预留配置,可不填写,目前仅支持mysql
    'dbtype' => 'MYSQL',
    'host'   => '127.0.0.1',
    'port'   => 3300,
    'write'  => [
        'dbname' => 'write_db',
    ],
    'read' =>[
        'dbname' => 'read_db',
    ],
    'user'     => 'root',
    'pswd'     => 'root',
    'prefix'   => 'tb_',
    'datatype' => 'array', // 写明 为 array类型,不填写或其他类型字符串默认为object类型, 也可以是`PDO::FETCH_*`或者DBquery::arr 及 DBquery::obj;
],]
// 如果不想修改配置文件,只是临时修改获取的数据类型;
DBquery::config($config);

DBquery::setDataType(DBquery::arr);

DBquery::table('foo')->get(); // 获取数组类型的数据集

DBquery::setDataType(DBquery::obj); // 切换回object类型的数据集格式;


   $config = [
      // 预留配置,可不填写,目前仅支持mysql
      'dbtype' => 'MYSQL',
      'host'   => '127.0.0.1',
      'port'   => 3306,
      'write'  => [
         'dbname' => 'write_test',
      ],
      'read' =>[
         'dbname' => 'read_test',
      ],
      'user'   => 'root',
      'pswd'   => 'root',
      'prefix' => 'tb_', // 可以在配置文件中添加表前缀
   ];
   DBquery::config($config);
   $db = DBquery::table('user'); // tb_user
   $db->setPrefix('tb2_'); // tb2_user