Annotation of embedaddon/php/ext/pdo_mysql/tests/bug_45120.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Bug #45120 (PDOStatement->execute() returns true then false for same statement)
        !             3: --SKIPIF--
        !             4: <?php
        !             5: if (!extension_loaded('pdo') || !extension_loaded('pdo_mysql')) die('skip not loaded');
        !             6: require dirname(__FILE__) . '/config.inc';
        !             7: require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc';
        !             8: PDOTest::skip();
        !             9: ?>
        !            10: --FILE--
        !            11: <?php
        !            12: require dirname(__FILE__) . '/config.inc';
        !            13: require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc';
        !            14: $db = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt');
        !            15: 
        !            16: function bug_45120($db) {
        !            17: 
        !            18:        $stmt = $db->prepare("SELECT 1 AS 'one'");
        !            19:        if (true !== $stmt->execute())
        !            20:                printf("[001] Execute has failed: %s\n", var_export($stmt->errorInfo(), true));
        !            21: 
        !            22:        $res = $stmt->fetch(PDO::FETCH_ASSOC);
        !            23:        if ($res['one'] != 1)
        !            24:                printf("[002] Wrong results: %s\n", var_export($res, true));
        !            25: 
        !            26:        if (true !== $stmt->execute())
        !            27:                printf("[003] Execute has failed: %s\n", var_export($stmt->errorInfo(), true));
        !            28: 
        !            29:        $res = $stmt->fetch(PDO::FETCH_ASSOC);
        !            30:        if ($res['one'] != 1)
        !            31:                printf("[004] Wrong results: %s\n", var_export($res, true));
        !            32: 
        !            33: }
        !            34: 
        !            35: print "Emulated Prepared Statements\n";
        !            36: $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 1);
        !            37: bug_45120($db);
        !            38: 
        !            39: print "Native Prepared Statements\n";
        !            40: $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 0);
        !            41: bug_45120($db);
        !            42: 
        !            43: print "done!";
        !            44: ?>
        !            45: --EXPECT--
        !            46: Emulated Prepared Statements
        !            47: Native Prepared Statements
        !            48: done!

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>