Пример #1
0
 protected function connect()
 {
     $db = new \swoole_mysql();
     $db->on('close', function ($db) {
         $this->remove($db);
     });
     return $db->connect($this->config, function ($db, $result) {
         if ($result) {
             $this->join($db);
         } else {
             $this->failure();
             trigger_error("connect to mysql server[{$this->config['host']}:{$this->config['port']}] failed. Error: {$db->connect_error}[{$db->connect_errno}].");
         }
     });
 }
Пример #2
0
 public function onStart($serv)
 {
     for ($i = 0; $i < $this->pool_size; $i++) {
         $db = new swoole_mysql();
         $db->connect(array('host' => $this->config['host'], 'user' => $this->config['user'], 'password' => $this->config['pwd'], 'database' => $this->config['name']), function ($db, $result) {
             //var_dump($result);
             //print_r($db);
         });
         //设置数据库编码
         $db_sock = $db->sock;
         //print_r($db->sock);
         //swoole_event_add($db_sock, array(&$this, 'onSQLReady'));
         /*$db->query("SET NAMES '".$this->config['charset']."'",function($link,$result){
               var_dump($result);
           });*/
         $this->idle_pool[] = array('mysqli' => $db, 'db_sock' => $db_sock, 'fd' => 0);
     }
 }
Пример #3
0
<?php

$db = new swoole_mysql();
$db->connect('10.10.2.205', 'root', '', 'msg_push', 3500);
$db->query($sql, function (swoole_mysql $db, $r) {
    var_dump($r);
    $db->query("show tables", function (swoole_mysql $db, $r) {
        var_dump($r, $db->affected_rows, $db->insert_id);
    });
});
class swoole_mysql extends mysqli
{
    function query($sql, callable $callback)
    {
    }
}
Пример #4
0
<?php

$db = new swoole_mysql();
$server = array('host' => '127.0.0.1', 'user' => 'chelun_appuser', 'password' => 'hGbxB9PrmVLJzuxE', 'database' => 'chelun');
$r = $db->connect($server, function ($db, $result) {
    if ($result === false) {
        var_dump($db->connect_errno, $db->connect_error);
        die;
    }
    echo "connect to mysql server sucess\n";
    $sql = 'show tables';
    //$sql = "INSERT INTO `test`.`userinfo` (`id`, `name`, `passwd`, `regtime`, `lastlogin_ip`) VALUES (NULL, 'jack', 'xuyou', CURRENT_TIMESTAMP, '');";
    $db->query($sql, function (swoole_mysql $db, $r) {
        global $s;
        if ($r === false) {
            var_dump($db->error, $db->errno);
        } elseif ($r === true) {
            var_dump($db->affected_rows, $db->insert_id);
        }
        echo "count=" . count($r) . ", time=" . (microtime(true) - $s), "\n";
        //var_dump($r);
        $db->close();
    });
});
//$db->connect('10.10.2.205', 'root', '', 'msg_push', 3500);
//$sql =  "UPDATE  `test`.`userinfo` SET  `passwd` =  '999999' WHERE  `userinfo`.`id` =2";
//$sql = "INSERT INTO `test`.`userinfo` (`id`, `name`, `passwd`, `regtime`, `lastlogin_ip`) VALUES (NULL, 'jack', 'xuyou', CURRENT_TIMESTAMP, '');";
//$sql = "DELETE FROM `test`.`userinfo` WHERE `userinfo`.`id` = 59;";
//$sql = "SELECT * FROM  `userinfo` LIMIT 0, 100";
//$sql = "SELECT id,device_token,os from ec_push_token where 1 and app_key='QueryViolations' and os=2 and version >='5.0.0' and id > 0 limit 10000";
//$s = microtime(true);