swoole在1.8.6版本提供了全新的異步mysql客戶(hù)端,底層自行實(shí)現(xiàn)了MySQL的通信協(xié)議,無(wú)需依賴(lài)其他第三方庫(kù),如libmysqlclient、mysqlnd、mysqli等。? ? ? ? ? ? ? ? ? ? ? (推薦學(xué)習(xí): swoole視頻教程)
從1.8.6版本開(kāi)始SwooleMySQL已內(nèi)置到Swoole中,無(wú)需通過(guò)–enable-async-mysql編譯參數(shù)開(kāi)啟。
swoole_mysql->__construct 創(chuàng)建異步mysql客戶(hù)端。
使用實(shí)例
$db?=?new?swoole_mysql(); $server?=?array( ????'host'?=>?'192.168.56.102', ????'port'?=>?3306, ????'user'?=>?'test', ????'password'?=>?'test', ????'database'?=>?'test', ????'charset'?=>?'utf8',?//指定字符集 ????'timeout'?=>?2,??//?可選:連接超時(shí)時(shí)間(非查詢(xún)超時(shí)時(shí)間),默認(rèn)為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(); ????}); });
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載。
THE END