2016-02-15 31 views
5

Trình điều khiển Mysqlnd PHP 5.6 có cơ hội sử dụng truy vấn Async http://php.net/manual/en/mysqli.reap-async-query.phpCách sử dụng truy vấn Mysql Mysql với PHP PDO

Cách sử dụng truy vấn Không đồng bộ với PDO?

nó không được làm việc, mã (PHP asynchronous mysql-query):

$dbConnectionOne = new \PDO($cnn0, $conf['user'], $conf['pass']); 
$dbConnectionOne->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); 

$dbConnectionTwo = new \PDO($cnn0, $conf['user'], $conf['pass']); 
$dbConnectionTwo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); 
$dbConnectionTwo->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false); 


$t = time(); 
$synchStmt = $dbConnectionOne->prepare('SELECT sleep(2)'); 
$synchStmt->execute(); 

$asynchStmt = $dbConnectionTwo->prepare('SELECT sleep(1)'); 
$asynchStmt->execute(); 

$measurementConfiguration = array(); 
foreach ($synchStmt->fetchAll() as $synchStmtRow) { 
    print_r($synchStmtRow); 
} 

while (($asynchStmtRow = $asynchStmt->fetch()) !== false) { 
    print_r($asynchStmtRow); 
} 


$t = time() - $t; 

echo 'query execute ', $t, ' sec',PHP_EOL; 

trừ 2 giây nhưng kết quả = 3 giây

+0

Nhìn vào điều này: http://stackoverflow.com/questions/27240421/php-asynchronous-mysql-query – Tom

+0

nó không hoạt động, mã số –

Trả lời

5

số Bạn không thể sử dụng các truy vấn Mysql async với PDO. Mysqli là sự lựa chọn duy nhất.

Bạn có thể sử dụng cho số này là mysqli_multi_query hoặc chuỗi query/poll/reap thông thường.

+0

Cảm ơn, tôi có lớp wrapper của tôi trên PDO và tìm cách sử dụng async trong PDO. –

+0

Thx để chia sẻ nhưng không. – EthraZa

Các vấn đề liên quan