@@ -65,53 +65,38 @@ if (($row = $stmt->fetch(PDO::FETCH_ASSOC)) && ($row['value'] != '')) {
65
65
$ db ->setAttribute (PDO ::ATTR_EMULATE_PREPARES , 0 );
66
66
MySQLPDOTest::createTestTable ($ db , MySQLPDOTest::detect_transactional_mysql_engine ($ db ));
67
67
68
- /* affected rows related */
69
- try {
70
-
71
- exec_and_count (2 , $ db , 'DROP TABLE IF EXISTS test ' , 0 );
72
- exec_and_count (3 , $ db , sprintf ('CREATE TABLE test(id INT NOT NULL PRIMARY KEY, col1 CHAR(10)) ENGINE=%s ' , PDO_MYSQL_TEST_ENGINE ), 0 );
73
-
74
- $ stmt = $ db ->query ("SHOW VARIABLES LIKE 'secure_file_priv' " );
75
- if (($ row = $ stmt ->fetch (PDO ::FETCH_ASSOC )) && ($ row ['value ' ] != '' )) {
76
- $ filename = $ row ['value ' ] . DIRECTORY_SEPARATOR . "pdo_mysql_exec_load_data.csv " ;
77
- } else {
78
- $ filename = MySQLPDOTest::getTempDir () . DIRECTORY_SEPARATOR . "pdo_mysql_exec_load_data.csv " ;
79
- }
80
-
81
- $ fp = fopen ($ filename , "w " );
82
- fwrite ($ fp , "1;foo \n" );
83
- fwrite ($ fp , "2;bar " );
84
- fclose ($ fp );
85
-
86
- // This should fail, the PS protocol should not support it.
87
- // mysqlnd will give 2014 as a follow-up of the fallback logic
88
- // libmysql will give a little more precise 2030 error code
89
- // However, you get an error and the big question is what happens to the line
90
- $ stmt = $ db ->prepare (sprintf ("LOAD DATA INFILE %s INTO TABLE test FIELDS TERMINATED BY ';' LINES TERMINATED BY ' \n' " , $ db ->quote ($ filename )));
91
- if (!$ stmt ->execute ()) {
92
- printf ("[004] [%d] %s \n" , $ stmt ->errorCode (), var_export ($ stmt ->errorInfo (), true ));
93
- }
68
+ exec_and_count (2 , $ db , 'DROP TABLE IF EXISTS test ' , 0 );
69
+ exec_and_count (3 , $ db , sprintf ('CREATE TABLE test(id INT NOT NULL PRIMARY KEY, col1 CHAR(10)) ENGINE=%s ' , PDO_MYSQL_TEST_ENGINE ), 0 );
70
+
71
+ $ stmt = $ db ->query ("SHOW VARIABLES LIKE 'secure_file_priv' " );
72
+ if (($ row = $ stmt ->fetch (PDO ::FETCH_ASSOC )) && ($ row ['value ' ] != '' )) {
73
+ $ filename = $ row ['value ' ] . DIRECTORY_SEPARATOR . "pdo_mysql_exec_load_data.csv " ;
74
+ } else {
75
+ $ filename = MySQLPDOTest::getTempDir () . DIRECTORY_SEPARATOR . "pdo_mysql_exec_load_data.csv " ;
76
+ }
94
77
95
- // Check the line
96
- $ stmt = $ db ->query ("SELECT 1 as 'one' " );
97
- if ($ stmt ->errorCode () != '0000 ' ) {
98
- printf ("[005] [%d] %s \n" , $ stmt ->errorCode (), var_export ($ stmt ->errorInfo (), true ));
99
- } else {
100
- $ rows = $ stmt ->fetchAll (PDO ::FETCH_ASSOC );
101
- if (!isset ($ rows [0 ]['one ' ]) || $ rows [0 ]['one ' ] != 1 )
102
- printf ("[006] [%d] %s \n" , $ stmt ->errorCode (), var_export ($ stmt ->errorInfo (), true ));
103
- }
78
+ $ fp = fopen ($ filename , "w " );
79
+ fwrite ($ fp , "1;foo \n" );
80
+ fwrite ($ fp , "2;bar " );
81
+ fclose ($ fp );
104
82
105
- unlink ($ filename );
83
+ $ stmt = $ db ->prepare (sprintf ("LOAD DATA INFILE %s INTO TABLE test FIELDS TERMINATED BY ';' LINES TERMINATED BY ' \n' " , $ db ->quote ($ filename )));
84
+ if (!$ stmt ->execute ()) {
85
+ printf ("[004] [%d] %s \n" , $ stmt ->errorCode (), var_export ($ stmt ->errorInfo (), true ));
86
+ }
106
87
107
- } catch (PDOException $ e ) {
108
- printf ("[001] %s, [%s] %s (%s) \n" ,
109
- $ e ->getMessage (),
110
- $ db ->errorCode (),
111
- implode (' ' , $ db ->errorInfo ()),
112
- (isset ($ stmt )) ? implode (' ' , $ stmt ->errorInfo ()) : 'N/A ' );
88
+ // Check the line
89
+ $ stmt = $ db ->query ("SELECT 1 as 'one' " );
90
+ if ($ stmt ->errorCode () != '0000 ' ) {
91
+ printf ("[005] [%d] %s \n" , $ stmt ->errorCode (), var_export ($ stmt ->errorInfo (), true ));
92
+ } else {
93
+ $ rows = $ stmt ->fetchAll (PDO ::FETCH_ASSOC );
94
+ if (!isset ($ rows [0 ]['one ' ]) || $ rows [0 ]['one ' ] != 1 )
95
+ printf ("[006] [%d] %s \n" , $ stmt ->errorCode (), var_export ($ stmt ->errorInfo (), true ));
113
96
}
114
97
98
+ unlink ($ filename );
99
+
115
100
print "done! " ;
116
101
?>
117
102
--CLEAN--
@@ -120,10 +105,4 @@ require __DIR__ . '/mysql_pdo_test.inc';
120
105
MySQLPDOTest::dropTestTable ();
121
106
?>
122
107
--EXPECTF--
123
- Warning: PDOStatement::execute(): SQLSTATE[HY000]: General error: %s in %s on line %d
124
- [004] [0] array (
125
- 0 => 'HY000',
126
- 1 => %d,
127
- 2 => %s,
128
- )
129
108
done!
0 commit comments