Annotation of embedaddon/php/ext/pdo_mysql/tests/pdo_mysql_stmt_errorinfo.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: MySQL PDOStatement->errorInfo();
3: --SKIPIF--
4: <?php
5: require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'skipif.inc');
6: require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc');
7: MySQLPDOTest::skip();
8: $db = MySQLPDOTest::factory();
9: ?>
10: --FILE--
11: <?php
12: require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc');
13: $db = MySQLPDOTest::factory();
14: MySQLPDOTest::createTestTable($db);
15:
16: printf("Testing emulated PS...\n");
17: try {
18: $db->setAttribute(PDO::MYSQL_ATTR_DIRECT_QUERY, 1);
19: if (1 != $db->getAttribute(PDO::MYSQL_ATTR_DIRECT_QUERY))
20: printf("[002] Unable to turn on emulated prepared statements\n");
21:
22: $stmt = $db->prepare('SELECT id FROM ihopeitdoesnotexist ORDER BY id ASC');
23: var_dump($stmt->errorInfo());
24: $stmt->execute();
25: var_dump($stmt->errorInfo());
26:
27: MySQLPDOTest::createTestTable($db);
28: $stmt = $db->prepare('SELECT label FROM test ORDER BY id ASC LIMIT 1');
29: $db->exec('DROP TABLE test');
30: var_dump($stmt->execute());
31: var_dump($stmt->errorInfo());
32: var_dump($db->errorInfo());
33:
34: } catch (PDOException $e) {
35: printf("[001] %s [%s] %s\n",
36: $e->getMessage(), $db->errorInfo(), implode(' ', $db->errorInfo()));
37: }
38:
39: printf("Testing native PS...\n");
40: try {
41: $db->setAttribute(PDO::MYSQL_ATTR_DIRECT_QUERY, 0);
42: if (0 != $db->getAttribute(PDO::MYSQL_ATTR_DIRECT_QUERY))
43: printf("[004] Unable to turn off emulated prepared statements\n");
44:
45: $stmt = $db->prepare('SELECT id FROM ihopeitdoesnotexist ORDER BY id ASC');
46: var_dump($stmt);
47:
48: MySQLPDOTest::createTestTable($db);
49: $stmt = $db->prepare('SELECT label FROM test ORDER BY id ASC LIMIT 1');
50: var_dump($stmt->errorInfo());
51: $db->exec('DROP TABLE test');
52: $stmt->execute();
53: var_dump($stmt->errorInfo());
54: var_dump($db->errorInfo());
55:
56: } catch (PDOException $e) {
57: printf("[003] %s [%s] %s\n",
58: $e->getMessage(), $db->errorInfo(), implode(' ', $db->errorInfo()));
59: }
60: print "done!";
61: ?>
62: --CLEAN--
63: <?php
64: require dirname(__FILE__) . '/mysql_pdo_test.inc';
65: MySQLPDOTest::dropTestTable();
66: ?>
67: --EXPECTF--
68: Testing emulated PS...
69: array(3) {
70: [0]=>
71: %unicode|string%(0) ""
72: [1]=>
73: NULL
74: [2]=>
75: NULL
76: }
77:
78: Warning: PDOStatement::execute(): SQLSTATE[42S02]: Base table or view not found: 1146 Table '%s.ihopeitdoesnotexist' doesn't exist in %s on line %d
79: array(3) {
80: [0]=>
81: %unicode|string%(5) "42S02"
82: [1]=>
83: int(1146)
84: [2]=>
85: %unicode|string%(%d) "Table '%s.ihopeitdoesnotexist' doesn't exist"
86: }
87:
88: Warning: PDOStatement::execute(): SQLSTATE[42S02]: Base table or view not found: 1146 Table '%s.test' doesn't exist in %s on line %d
89: bool(false)
90: array(3) {
91: [0]=>
92: %unicode|string%(5) "42S02"
93: [1]=>
94: int(1146)
95: [2]=>
96: %unicode|string%(%d) "Table '%s.test' doesn't exist"
97: }
98: array(3) {
99: [0]=>
100: %unicode|string%(5) "00000"
101: [1]=>
102: NULL
103: [2]=>
104: NULL
105: }
106: Testing native PS...
107:
108: Warning: PDO::prepare(): SQLSTATE[42S02]: Base table or view not found: 1146 Table '%s.ihopeitdoesnotexist' doesn't exist in %s on line %d
109: bool(false)
110: array(3) {
111: [0]=>
112: %unicode|string%(0) ""
113: [1]=>
114: NULL
115: [2]=>
116: NULL
117: }
118:
119: Warning: PDOStatement::execute(): SQLSTATE[42S02]: Base table or view not found: 1146 Table '%s.test' doesn't exist in %s on line %d
120: array(3) {
121: [0]=>
122: %unicode|string%(5) "42S02"
123: [1]=>
124: int(1146)
125: [2]=>
126: %unicode|string%(%d) "Table '%s.test' doesn't exist"
127: }
128: array(3) {
129: [0]=>
130: %unicode|string%(5) "00000"
131: [1]=>
132: int(1146)
133: [2]=>
134: %unicode|string%(%d) "Table '%s.ihopeitdoesnotexist' doesn't exist"
135: }
136: done!
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>