diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-03-14 05:42:27 +0000 |
---|---|---|
committer | <> | 2013-04-03 16:25:08 +0000 |
commit | c4dd7a1a684490673e25aaf4fabec5df138854c4 (patch) | |
tree | 4d57c44caae4480efff02b90b9be86f44bf25409 /ext/mysqli/tests/061.phpt | |
download | php2-master.tar.gz |
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/mysqli/tests/061.phpt')
-rw-r--r-- | ext/mysqli/tests/061.phpt | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/ext/mysqli/tests/061.phpt b/ext/mysqli/tests/061.phpt new file mode 100644 index 0000000..5817d82 --- /dev/null +++ b/ext/mysqli/tests/061.phpt @@ -0,0 +1,78 @@ +--TEST-- +local infile handler +--SKIPIF-- +<?php +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())); + +include_once("local_infile_tools.inc"); +if ($msg = check_local_infile_support($link, $engine)) + die(sprintf("skip %s, [%d] %s", $msg, $link->errno, $link->error)); + +mysqli_close($link); +?> +--FILE-- +<?php + require_once("connect.inc"); + + function my_read($fp, &$buffer, $buflen, &$error) { + $buffer = strrev(fread($fp, $buflen)); + return(strlen($buffer)); + } + + /*** test mysqli_connect 127.0.0.1 ***/ + $link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket); + + /* create temporary file */ + $filename = dirname(__FILE__) . "061.csv"; + $fp = fopen($filename, "w"); + fwrite($fp, b"foo;bar"); + fclose($fp); + + if (!mysqli_query($link,"DROP TABLE IF EXISTS t_061")) + printf("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))")) + printf("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)))) + printf("Cannot load data: [%d] %s\n", mysqli_errno($link), mysqli_error($link)); + + mysqli_set_local_infile_handler($link, "my_read"); + if (!mysqli_query($link, sprintf("LOAD DATA LOCAL INFILE '%s' INTO TABLE t_061 FIELDS TERMINATED BY ';'", mysqli_real_escape_string($link, $filename)))) + printf("Cannot load data using infile handler: [%d] %s\n", mysqli_errno($link), mysqli_error($link)); + + if ($result = mysqli_query($link, "SELECT c1,c2 FROM t_061")) { + while (($row = mysqli_fetch_row($result))) { + printf("%s-%s\n", $row[0], $row[1]); + printf("%s-%s\n", gettype($row[0]), gettype($row[1])); + } + mysqli_free_result($result); + } + + mysqli_close($link); + unlink($filename); + print "done!"; +?> +--CLEAN-- +<?php +require_once("connect.inc"); +if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) + printf("[c001] [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error()); + +if (!mysqli_query($link, "DROP TABLE IF EXISTS t_061")) + printf("[c002] Cannot drop table, [%d] %s\n", mysqli_errno($link), mysqli_error($link)); + +mysqli_close($link); +?> +--EXPECTF-- +foo-bar +%unicode|string%-%unicode|string% +rab-oof +%unicode|string%-%unicode|string% +done! |