]> granicus.if.org Git - php/commitdiff
Check if server supports LOAD DATA LOCAL INFILE to catch [1148] The used command...
authorUlf Wendel <uw@php.net>
Wed, 31 Aug 2011 12:58:25 +0000 (12:58 +0000)
committerUlf Wendel <uw@php.net>
Wed, 31 Aug 2011 12:58:25 +0000 (12:58 +0000)
ext/mysqli/tests/061.phpt
ext/mysqli/tests/bug49442.phpt

index 08b4cda2519c210d48aa10ae2b8478efca52e792..afe1b77d9defbc1ef912f9c1d643330583c97047 100644 (file)
@@ -6,6 +6,21 @@ require_once('skipif.inc');
 require_once('skipifconnectfailure.inc');
 if (!function_exists('mysqli_set_local_infile_handler'))
        die("skip - function not available.");
+
+$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket);
+if (!$link)
+  die(sprintf("skip Can't connect [%d] %s", mysqli_connect_errno(), mysqli_connect_error()));
+
+if (!mysqli_query($link,"DROP TABLE IF EXISTS t_061"))
+       die(sprintf("skip Cannot drop table: [%d] %s\n", mysqli_errno($link), mysqli_error($link)));
+
+if (!mysqli_query($link,"CREATE TABLE t_061 (c1 varchar(10), c2 varchar(10))"))
+       die(sprintf("skip Cannot create table: [%d] %s\n", mysqli_errno($link), mysqli_error($link)));
+
+if (!mysqli_query($link, sprintf("LOAD DATA LOCAL INFILE '%s' INTO TABLE t_061 FIELDS TERMINATED BY ';'", mysqli_real_escape_string($link, $filename))))
+       if (1148 == mysqli_errno($link))
+               die(sprintf("skip Cannot test LOAD DATA LOCAL INFILE, [%d] %s", mysqli_errno($link), mysqli_error($link)));
+
 ?>
 --FILE--
 <?php
index 5323a28ed2d929a35c025b4886bdae8ca09a0797..55601860808567101803187dc7e73b9e0631cdd1 100644 (file)
@@ -4,6 +4,31 @@ Bug #49422 (mysqlnd: mysqli_real_connect() and LOAD DATA INFILE crash)
 <?php
 require_once('skipif.inc');
 require_once('skipifconnectfailure.inc');
+
+$link = mysqli_init();
+if (!my_mysqli_real_connect($link, $host, $user, $passwd, $db, $port, $socket)) {
+       die(sprintf("skip Connect failed, [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()));
+}
+
+if (!mysqli_query($link, 'DROP TABLE IF EXISTS test')) {
+       die(sprintf("skip Failed to drop old test table: [%d] %s\n", mysqli_errno($link), mysqli_error($link)));
+}
+
+if (!mysqli_query($link, 'CREATE TABLE test(id INT, label CHAR(1), PRIMARY KEY(id)) ENGINE=' . $engine)) {
+       die(sprintf("skip Failed to create test table: [%d] %s\n", mysqli_errno($link), mysqli_error($link)));
+}
+
+require_once("local_infile_tools.inc");
+$file = create_standard_csv(4);
+
+if (!@mysqli_query($link, sprintf("LOAD DATA LOCAL INFILE '%s'
+               INTO TABLE test
+               FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\''
+               LINES TERMINATED BY '\n'",
+               mysqli_real_escape_string($link, $file)))) {
+               if (1148 == mysqli_errno($link))
+                       die(sprintf("skip Cannot test LOAD DATA LOCAL INFILE, [%d] %s\n",  mysqli_errno($link), mysqli_error($link)));
+}
 ?>
 --INI--
 mysqli.allow_local_infile=1