Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.112
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
src /
php-7.4.33 /
ext /
pdo_mysql /
tests /
Delete
Unzip
Name
Size
Permission
Date
Action
CONFLICTS
6
B
-rw-rw-r--
2022-10-31 11:36
PDO_getAvaliableDrivers.phpt
344
B
-rw-rw-r--
2022-10-31 11:36
README.md
725
B
-rw-rw-r--
2022-10-31 11:36
bug41125.phpt
4.46
KB
-rw-rw-r--
2022-10-31 11:36
bug44327.phpt
1.53
KB
-rw-rw-r--
2022-10-31 11:36
bug46292.phpt
1.82
KB
-rw-rw-r--
2022-10-31 11:36
bug53551.phpt
1.61
KB
-rw-rw-r--
2022-10-31 11:36
bug53782.phpt
874
B
-rw-rw-r--
2022-10-31 11:36
bug54929.phpt
1.65
KB
-rw-rw-r--
2022-10-31 11:36
bug63176.phpt
1.12
KB
-rw-rw-r--
2022-10-31 11:36
bug63185.phpt
1.62
KB
-rw-rw-r--
2022-10-31 11:36
bug66141.phpt
1.24
KB
-rw-rw-r--
2022-10-31 11:36
bug66528.phpt
2.09
KB
-rw-rw-r--
2022-10-31 11:36
bug68371.phpt
2.21
KB
-rw-rw-r--
2022-10-31 11:36
bug70066.phpt
798
B
-rw-rw-r--
2022-10-31 11:36
bug70272.phpt
644
B
-rw-rw-r--
2022-10-31 11:36
bug70389.phpt
670
B
-rw-rw-r--
2022-10-31 11:36
bug70862.phpt
1.16
KB
-rw-rw-r--
2022-10-31 11:36
bug71145.phpt
688
B
-rw-rw-r--
2022-10-31 11:36
bug71569.phpt
546
B
-rw-rw-r--
2022-10-31 11:36
bug75177.phpt
832
B
-rw-rw-r--
2022-10-31 11:36
bug76815.phpt
969
B
-rw-rw-r--
2022-10-31 11:36
bug77289.phpt
657
B
-rw-rw-r--
2022-10-31 11:36
bug78152.phpt
1.12
KB
-rw-rw-r--
2022-10-31 11:36
bug79375.phpt
3.3
KB
-rw-rw-r--
2022-10-31 11:36
bug79596.phpt
894
B
-rw-rw-r--
2022-10-31 11:36
bug80458.phpt
4.23
KB
-rw-rw-r--
2022-10-31 11:36
bug81037.phpt
1.02
KB
-rw-rw-r--
2022-10-31 11:36
bug_33689.phpt
1.47
KB
-rw-rw-r--
2022-10-31 11:36
bug_37445.phpt
694
B
-rw-rw-r--
2022-10-31 11:36
bug_38546.phpt
6.12
KB
-rw-rw-r--
2022-10-31 11:36
bug_39483.phpt
714
B
-rw-rw-r--
2022-10-31 11:36
bug_39858.phpt
2.29
KB
-rw-rw-r--
2022-10-31 11:36
bug_41125.phpt
1.69
KB
-rw-rw-r--
2022-10-31 11:36
bug_41698.phpt
988
B
-rw-rw-r--
2022-10-31 11:36
bug_41997.phpt
1.56
KB
-rw-rw-r--
2022-10-31 11:36
bug_42499.phpt
2.79
KB
-rw-rw-r--
2022-10-31 11:36
bug_43371.phpt
476
B
-rw-rw-r--
2022-10-31 11:36
bug_44454.phpt
2.88
KB
-rw-rw-r--
2022-10-31 11:36
bug_44707.phpt
2.46
KB
-rw-rw-r--
2022-10-31 11:36
bug_45120.phpt
1.3
KB
-rw-rw-r--
2022-10-31 11:36
bug_50323.phpt
1.64
KB
-rw-rw-r--
2022-10-31 11:36
bug_51670.phpt
689
B
-rw-rw-r--
2022-10-31 11:36
bug_61207.phpt
2.38
KB
-rw-rw-r--
2022-10-31 11:36
bug_61411.phpt
1.32
KB
-rw-rw-r--
2022-10-31 11:36
bug_61755.phpt
1
KB
-rw-rw-r--
2022-10-31 11:36
bug_64705.phpt
427
B
-rw-rw-r--
2022-10-31 11:36
bug_74376.phpt
859
B
-rw-rw-r--
2022-10-31 11:36
bug_pecl_12925.phpt
1.38
KB
-rw-rw-r--
2022-10-31 11:36
bug_pecl_7976.phpt
2.05
KB
-rw-rw-r--
2022-10-31 11:36
common.phpt
794
B
-rw-rw-r--
2022-10-31 11:36
config.inc
2.23
KB
-rw-rw-r--
2022-10-31 11:36
last_insert_id.phpt
934
B
-rw-rw-r--
2022-10-31 11:36
mysql_pdo_test.inc
4.44
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql___construct.phpt
11.09
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql___construct_ini.phpt
1.38
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql___construct_options.phpt
7.71
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql___construct_options_libmysql.phpt
3.09
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql___construct_uri.phpt
2.13
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_attr_autocommit.phpt
3.47
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_attr_case.phpt
5.1
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_attr_client_version.phpt
1.13
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_attr_connection_status.phpt
939
B
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_attr_driver_name.phpt
830
B
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_attr_errmode.phpt
5.41
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_attr_fetch_table_names.phpt
900
B
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_attr_init_command.phpt
1.17
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_attr_max_buffer_size.phpt
2.14
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_attr_multi_statements.phpt
2.21
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_attr_oracle_nulls.phpt
3.22
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_attr_prefetch.phpt
651
B
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_attr_server_info.phpt
1.63
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_attr_server_version.phpt
2.46
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_attr_statement_class.phpt
5.26
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_begintransaction.phpt
7.29
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_bit.phpt
1.76
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_class_constants.phpt
2.98
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_commit.phpt
3.2
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_connect_attr.phpt
1.9
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_connect_charset.phpt
1.08
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_errorcode.phpt
2.22
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_errorinfo.phpt
3.25
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_exec.phpt
7.25
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_exec_ddl.phpt
2.78
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_exec_load_data.phpt
3.6
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_exec_select.phpt
2.57
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_fetch_both.phpt
1.74
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_get_attribute.phpt
2.82
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_interface.phpt
1.45
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_last_insert_id.phpt
4.2
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_local_infile_default_off.phpt
668
B
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_local_infile_set_on.phpt
693
B
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_multi_stmt_nextrowset.phpt
4.98
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_param_str_natl.phpt
1.04
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_pconnect.phpt
3.23
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_phpinfo.phpt
738
B
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_prepare_emulated.phpt
13.92
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_prepare_emulated_anonymous.phpt
2.5
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_prepare_emulated_placeholder_everywhere.phpt
2.67
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_prepare_match_against.phpt
1.42
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_prepare_native.phpt
12.8
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_prepare_native_clear_error.phpt
3.31
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_prepare_native_column.phpt
1.28
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_prepare_native_dup_named_placeholder.phpt
4.11
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_prepare_native_mixed_style.phpt
1.39
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_prepare_native_named_placeholder.phpt
2.8
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_prepare_native_placeholder_everywhere.phpt
2.59
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_quote.phpt
1.07
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_rollback.phpt
2.78
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_bindcolumn.phpt
4.05
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_bindparam.phpt
5.19
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_bindparam_types.phpt
7.46
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_bindvalue.phpt
11.76
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_blobfromsteam.phpt
3.94
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_blobs.phpt
2.63
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_closecursor.phpt
6.9
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_closecursor_empty.phpt
2.18
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_columncount.phpt
1.91
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_errorcode.phpt
1.88
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_errorinfo.phpt
3.19
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_fetch_non_select.phpt
6.05
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_fetch_serialize.phpt
4.19
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_fetch_serialize_simple.phpt
2.96
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_fetchobject.phpt
2.68
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_getcolumnmeta.phpt
12.94
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_multiquery.phpt
2.47
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_nextrowset.phpt
5.75
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_rowcount.phpt
933
B
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_unbuffered_2050.phpt
4.77
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_stmt_variable_columncount.phpt
4.01
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_subclass.phpt
2.32
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_types.phpt
6.83
KB
-rw-rw-r--
2022-10-31 11:36
pdo_mysql_types_zerofill.phpt
4.37
KB
-rw-rw-r--
2022-10-31 11:36
pecl_bug_5200.phpt
968
B
-rw-rw-r--
2022-10-31 11:36
pecl_bug_5780.phpt
1.5
KB
-rw-rw-r--
2022-10-31 11:36
pecl_bug_5802.phpt
1.33
KB
-rw-rw-r--
2022-10-31 11:36
show_tables.phpt
480
B
-rw-rw-r--
2022-10-31 11:36
skipif.inc
112
B
-rw-rw-r--
2022-10-31 11:36
table.inc
399
B
-rw-rw-r--
2022-10-31 11:36
Save
Rename
--TEST-- MySQL PDO->exec(), affected rows --SKIPIF-- <?php require_once(__DIR__ . DIRECTORY_SEPARATOR . 'skipif.inc'); require_once(__DIR__ . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc'); MySQLPDOTest::skip(); ?> --FILE-- <?php function exec_and_count($offset, &$db, $sql, $exp = NULL) { try { $ret = $db->exec($sql); if (!is_null($exp) && ($ret !== $exp)) { printf("[%03d] Expecting '%s'/%s got '%s'/%s when running '%s', [%s] %s\n", $offset, $exp, gettype($exp), $ret, gettype($ret), $sql, $db->errorCode(), implode(' ', $db->errorInfo())); return false; } } catch (PDOException $e) { printf("[%03d] '%s' has failed, [%s] %s\n", $offset, $sql, $db->errorCode(), implode(' ', $db->errorInfo())); return false; } return true; } require_once(__DIR__ . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc'); $db = MySQLPDOTest::factory(); MySQLPDOTest::createTestTable($db, MySQLPDOTest::detect_transactional_mysql_engine($db)); /* affected rows related */ try { exec_and_count(2, $db, 'DROP TABLE IF EXISTS test', 0); 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); exec_and_count(4, $db, "INSERT INTO test(id, col1) VALUES (1, 'a')", 1); exec_and_count(5, $db, "INSERT INTO test(id, col1) VALUES (2, 'b'), (3, 'c')", 2); exec_and_count(6, $db, "UPDATE test SET id = 4 WHERE id = 3", 1); exec_and_count(7, $db, "INSERT INTO test(id, col1) VALUES (1, 'd') ON DUPLICATE KEY UPDATE id = 3", 2); exec_and_count(8, $db, "UPDATE test SET id = 5 WHERE id = 5", 0); exec_and_count(9, $db, "INSERT INTO test(id, col1) VALUES (5, 'e') ON DUPLICATE KEY UPDATE id = 6", 1); exec_and_count(10, $db, "REPLACE INTO test(id, col1) VALUES (5, 'f')", 2); exec_and_count(11, $db, "REPLACE INTO test(id, col1) VALUES (6, 'g')", 1); exec_and_count(12, $db, 'DELETE FROM test WHERE id > 2', 4); exec_and_count(13, $db, 'DROP TABLE test', 0); exec_and_count(14, $db, 'SET @myvar = 1', 0); exec_and_count(15, $db, 'THIS IS NOT VALID SQL, I HOPE', false); printf("[016] [%s] %s\n", $db->errorCode(), implode(' ', $db->errorInfo())); exec_and_count(36, $db, sprintf('CREATE TABLE test(id INT NOT NULL PRIMARY KEY, col1 CHAR(10)) ENGINE=%s', PDO_MYSQL_TEST_ENGINE), 0); exec_and_count(37, $db, "INSERT INTO test(id, col1) VALUES (1, 'a')", 1); // Results may vary. Typically you will get 1. But the MySQL 5.1 manual states: Truncation operations do not return the number of deleted rows. // Don't rely on any return value! exec_and_count(38, $db, 'TRUNCATE TABLE test', NULL); } catch (PDOException $e) { printf("[001] %s, [%s] %s\n", $e->getMessage(), $db->errorCode(), implode(' ', $db->errorInfo())); } /* CREATE, DROP, CALL SP and SF */ if (MySQLPDOTest::getServerVersion($db) > 50000) { // let's try to play with stored procedures try { $ignore_exception = true; exec_and_count(18, $db, 'DROP PROCEDURE IF EXISTS p', 0); exec_and_count(19, $db, 'CREATE PROCEDURE p(OUT ver_param VARCHAR(255)) BEGIN SELECT VERSION() INTO ver_param; END;', 0); // we got this far without problems. If there's an issue from now on, its a failure $ignore_exception = false; exec_and_count(20, $db, 'CALL p(@version)', 1); $stmt = $db->query('SELECT @version AS p_version'); $tmp = $stmt->fetchAll(PDO::FETCH_ASSOC); if (count($tmp) > 1 || !isset($tmp[0]['p_version'])) { printf("[022] Data seems wrong, dumping\n"); var_dump($tmp); } else { $p_version = $tmp[0]['p_version']; } $stmt = $db->query('SELECT VERSION() AS _version'); $tmp = $stmt->fetchAll(PDO::FETCH_ASSOC); if (count($tmp) > 1 || !isset($tmp[0]['_version'])) { printf("[023] Data seems wrong, dumping\n"); var_dump($tmp); } else { if ($p_version !== $tmp[0]['_version']) { printf("[024] Found different version strings, SP returned '%s'/%s, SELECT returned '%s'/%s\n", $p_version, gettype($p_version), $tmp[0]['_version'], gettype($tmp[0]['_version'])); } } exec_and_count(25, $db, 'DROP PROCEDURE IF EXISTS p', 0); } catch (PDOException $e) { // ignore it, we might not have sufficient permissions if (!$ignore_exception) printf("[021] %s, [%s] %s\n", $e->getMessage(), $db->errorCode(), implode(' ', $db->errorInfo())); } // stored function try { $ignore_exception = true; exec_and_count(27, $db, 'DROP FUNCTION IF EXISTS f', 0); exec_and_count(28, $db, 'CREATE FUNCTION f( ver_param VARCHAR(255)) RETURNS VARCHAR(255) DETERMINISTIC RETURN ver_param;', 0); // we got this far without problems. If there's an issue from now on, its a failure $ignore_exception = false; $stmt = $db->query('SELECT f(VERSION()) AS f_version'); $tmp = $stmt->fetchAll(PDO::FETCH_ASSOC); if (count($tmp) > 1 || !isset($tmp[0]['f_version'])) { printf("[029] Data seems wrong, dumping\n"); var_dump($tmp); } else { $f_version = $tmp[0]['f_version']; } $stmt = $db->query('SELECT VERSION() AS _version'); $tmp = $stmt->fetchAll(PDO::FETCH_ASSOC); if (count($tmp) > 1 || !isset($tmp[0]['_version'])) { printf("[030] Data seems wrong, dumping\n"); var_dump($tmp); } else { if ($f_version !== $tmp[0]['_version']) { printf("[031] Found different version strings, SF returned '%s'/%s, SELECT returned '%s'/%s\n", $f_version, gettype($f_version), $tmp[0]['_version'], gettype($tmp[0]['_version'])); } } exec_and_count(32, $db, 'DROP FUNCTION IF EXISTS f', 0); } catch (PDOException $e) { // ignore it, we might not have sufficient permissions if (!$ignore_exception) printf("[026] %s, [%s] %s\n", $e->getMessage(), $db->errorCode(), implode(' ', $db->errorInfo())); } } // multi query try { $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 1); $exp = 0; $tmp = @$db->exec(sprintf('DROP TABLE IF EXISTS test; CREATE TABLE test(id INT) ENGINE=%s', PDO_MYSQL_TEST_ENGINE)); if ($exp !== $tmp) printf("[034] Expecting %s/%s got %s/%s, [%s] %s\n", $exp, gettype($exp), $tmp, gettype($tmp), $db->errorCode(), var_export($db->errorInfo(), true)); // this is interesting: if we get sort of affected rows, what will happen now? $tmp = @$db->exec('INSERT INTO test(id) VALUES (1); INSERT INTO test(id) VALUES (2)'); printf("[035] With emulated PS it works but makes no sense given that exec() returns sort of affected rows...\n"); } catch (PDOException $e) { printf("[033] %s, [%s] %s\n", $e->getMessage(), $db->errorCode(), implode(' ', $db->errorInfo())); } $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 0); print "done!"; ?> --CLEAN-- <?php require __DIR__ . '/mysql_pdo_test.inc'; $db = MySQLPDOTest::factory(); @$db->exec('DROP TABLE IF EXISTS test'); ?> --EXPECTF-- Warning: PDO::exec(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near 'THIS IS NOT VALID SQL, I HOPE' at line 1 in %s on line %d [016] [42000] 42000 1064 You have an error in your SQL syntax; check the manual that corresponds to your %s server version for the right syntax to use near 'THIS IS NOT VALID SQL, I HOPE' at line %d [035] With emulated PS it works but makes no sense given that exec() returns sort of affected rows... done!