/hphp/test/zend/bad/ext/mysql/tests/mysql_query_load_data_openbasedir.php
PHP | 84 lines | 69 code | 14 blank | 1 comment | 18 complexity | b09aa18238f37f7752d329410c736a4c MD5 | raw file
Possible License(s): LGPL-2.1, BSD-2-Clause, BSD-3-Clause, MPL-2.0-no-copyleft-exception, MIT, LGPL-2.0, Apache-2.0
- <?php
- @include_once("connect.inc");
- ini_set("open_basedir", __DIR__);
- chdir(__DIR__);
- if (!isset($db)) {
- // run-tests, I love you for not allowing me to set ini settings dynamically
- print "[006] [1148] The used command is not allowed with this MySQL version
- [007] [0]
- [008] LOAD DATA not run?
- [010] [1148] The used command is not allowed with this MySQL version
- done!";
- die();
- }
- require('table.inc');
- mysql_close($link);
- if ($socket)
- $host = sprintf("%s:%s", $host, $socket);
- else if ($port)
- $host = sprintf("%s:%s", $host, $port);
- if (!$link = mysql_connect($host, $user, $passwd, true, 128)) {
- printf("[001] Cannot connect using host '%s', user '%s', password '****', [%d] %s\n",
- $host, $user, $passwd,
- mysql_errno(), mysql_error());
- }
- if (!mysql_select_db($db, $link)) {
- printf("[002] [%d] %s\n", mysql_errno($link), mysql_error($link));
- }
- if (file_exists('./simple.csv'))
- unlink('./simple.csv');
- if (!$fp = fopen('./simple.csv', 'w'))
- printf("[003] Cannot open CSV file\n");
- if (version_compare(PHP_VERSION, '5.9.9', '>') >= 0) {
- if (!fwrite($fp, (binary)"'97';'x';\n") ||
- !fwrite($fp, (binary)"'98';'y';\n") ||
- !fwrite($fp, (binary)"99;'z';\n")) {
- printf("[004] Cannot write CVS file '%s'\n", $file);
- }
- } else {
- if (!fwrite($fp, "97;'x';\n") ||
- !fwrite($fp, "98;'y';\n") ||
- !fwrite($fp, "99;'z';\n")) {
- printf("[005] Cannot write CVS file '%s'\n", $file);
- }
- }
- fclose($fp);
- $sql = sprintf("LOAD DATA LOCAL INFILE '%s'
- INTO TABLE test
- FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\''
- LINES TERMINATED BY '\n'",
- mysql_real_escape_string(realpath('./simple.csv'), $link));
- if (!mysql_query($sql, $link))
- printf("[006] [%d] %s\n", mysql_errno($link), mysql_error($link));
- if (!($res = mysql_query('SELECT label FROM test WHERE id = 97', $link)) ||
- !($row = mysql_fetch_assoc($res)) ||
- !mysql_free_result($res))
- printf("[007] [%d] '%s'\n", mysql_errno($link), mysql_error($link));
- if ($row['label'] != "x")
- printf("[008] LOAD DATA not run?\n");
- if (!mysql_query('DELETE FROM test', $link))
- printf("[009] [%d] %s\n", mysql_errno($link), mysql_error($link));
- $sql = "LOAD DATA LOCAL INFILE '/tmp/idonotexist'
- INTO TABLE test
- FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\''
- LINES TERMINATED BY '\n'";
- if (!mysql_query($sql, $link))
- printf("[010] [%d] %s\n", mysql_errno($link), mysql_error($link));
- mysql_close($link);
- unlink("./simple.csv");
- print "done!";
- ?>