ConnectionTest::testMultiStmt PHP Метод

testMultiStmt() публичный Метод

public testMultiStmt ( )
    function testMultiStmt()
    {
        \Amp\reactor(\Amp\driver());
        \Amp\run(function () {
            $db = new Connection("host=" . DB_HOST . ";user=" . DB_USER . ";pass=" . DB_PASS . ";db=connectiontest");
            $db->connect();
            $db->query("CREATE DATABASE IF NOT EXISTS alt");
            $db->useDb("alt");
            $db->query("DROP TABLE tmp");
            // just in case it would exist...
            $db->query("CREATE TABLE tmp SELECT 1 AS a, 2 AS b");
            $db->query("INSERT INTO tmp VALUES (5, 6), (8, 9)");
            $resultset = (yield $db->query("SELECT a FROM tmp; SELECT b FROM tmp WHERE a = 5; SELECT b AS d, SUM(a) AS c FROM tmp WHERE b < 7"));
            $this->assertEquals((yield $resultset->rowCount()), 3);
            $resultset = (yield $resultset->next());
            $this->assertEquals((yield $resultset->fetchRow()), [6]);
            $resultset = (yield $resultset->next());
            $fields = (yield $resultset->getFields());
            $this->assertEquals(count($fields), 2);
            $this->assertEquals($fields[0]["original_name"], "b");
            $this->assertEquals($fields[0]["name"], "d");
            $this->assertEquals($fields[0]["type"], DataTypes::MYSQL_TYPE_LONG);
            $this->assertEquals($fields[1]["name"], "c");
            $this->assertEquals($fields[1]["type"], DataTypes::MYSQL_TYPE_NEWDECIMAL);
            (yield $db->query("DROP DATABASE alt"));
        });
    }