Annotation of embedaddon/php/ext/pdo_mysql/tests/bug_45120.phpt, revision 1.1.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>