Swoole在1.8.6版本提供了全新的異步MySQL客戶端,底層自行實現(xiàn)了MySQL的通信協(xié)議,無需依賴其他第三方庫,如libmysqlclient、mysqlnd、mysqli等。 (推薦學習: swoole視頻教程)
從1.8.6版本開始SwooleMySQL已內(nèi)置到Swoole中,無需通過–enable-async-mysql編譯參數(shù)開啟。
swoole_mysql->__construct 創(chuàng)建異步mysql客戶端。
使用實例
$db = new swoole_mysql(); $server = array( 'host' => '192.168.56.102', 'port' => 3306, 'user' => 'test', 'password' => 'test', 'database' => 'test', 'charset' => 'utf8', //指定字符集 'timeout' => 2, // 可選:連接超時時間(非查詢超時時間),默認為SW_MYSQL_CONNECT_TIMEOUT(1.0) ); $db->connect($server, function ($db, $r) { if ($r === false) { var_dump($db->connect_errno, $db->connect_error); die; } $sql = 'show tables'; $db->query($sql, function(swoole_mysql $db, $r) { if ($r === false) { var_dump($db->error, $db->errno); } elseif ($r === true ) { var_dump($db->affected_rows, $db->insert_id); } var_dump($r); $db->close(); }); });