kornrunner / hsphp
MySQL HandlerSocket 扩展的客户端库。
v2.0.0
2017-12-09 15:21 UTC
Requires (Dev)
- phpunit/phpunit: ^6.5
- satooshi/php-coveralls: ^1.0
Replaces
- tz-lom/hsphp: *
README
PHP 的 HandlerSocket 库
此库为与兼容 MySQL 数据库(MySQL、MariaDB、Percona)的 HandlerSocket 插件进行通信提供了一个 API。
有关 HandlerSocket 的更多信息,请参阅MariaDB 的 HandlerSocket 文档。
安装
一旦安装了 composer,请在您的 PHP 项目目录中运行以下命令
composer require kornrunner/hsphp --no-update
使用示例
选择
$c = new \HSPHP\ReadSocket(); $c->connect(); $id = $c->getIndexId('data_base_name', 'table_name', '', 'id,name,some,thing,more'); $c->select($id, '=', array(42)); // SELECT WITH PRIMARY KEY $response = $c->readResponse(); //SELECT with IN statement $c = new \HSPHP\ReadSocket(); $c->connect(); $id = $c->getIndexId('data_base_name', 'table_name', '', 'id,name,some,thing,more'); $c->select($id, '=', array(0), 0, 0, array(1,42,3)); $response = $c->readResponse();
更新
$c = new \HSPHP\WriteSocket(); $c->connect('localhost',9999); $id = $c->getIndexId('data_base_name','table_name','','k,v'); $c->update($id,'=',array(100500),array(100500,42)); // Update row(k,v) with id 100500 to k = 100500, v = 42 $response = $c->readResponse(); // Has 1 if OK
批量更新
$c = new \HSPHP\WriteSocket(); $c->connect('localhost',9999); $id = $c->getIndexId('data_base_name','table_name','','k,v'); $c->update($id,'=',array(100500),array(100500,42), 2, 0, array(100501, 100502)); // Update rows where k IN (100501, 100502) $response = $c->readResponse(); // Has 1 if OK
删除
$c = new \HSPHP\WriteSocket(); $c->connect('localhost',9999); $id = $c->getIndexId('data_base_name','table_name','','k,v'); $c->delete($id,'=',array(100500)); $response = $c->readResponse(); //return 1 if OK
插入
$c = new \HSPHP\WriteSocket(); $c->connect('localhost',9999); $id = $c->getIndexId('data_base_name','table_name','','k,v'); $c->insert($id,array(100500,'test\nvalue')); $response = $c->readResponse(); //return array() if OK
增加
$c = new \HSPHP\WriteSocket(); $c->connect('localhost',9999); $id = $c->getIndexId('data_base_name','table_name','','v'); $c->increment($id,'=',array(100500),array(2)); // Increment v column by 2 $response = $c->readResponse(); // Has 1 if OK
减少
$c = new \HSPHP\WriteSocket(); $c->connect('localhost',9999); $id = $c->getIndexId('data_base_name','table_name','','v'); $c->decrement($id,'=',array(100500),array(2)); // Decrement v column by 2 $response = $c->readResponse(); // Has 1 if OK