3,29 → 3,7 |
// TODO: test everything |
// TODO: return values? |
// TODO: check if we matched all stuff mentioned here: https://www.phpclasses.org/blog/package/9199/post/3-Smoothly-Migrate-your-PHP-Code-using-the-Old-MySQL-extension-to-MySQLi.html |
// TODO: translate descriptions to english |
|
$xxx_vts_prepend_config = array(); |
if (file_exists($xxx_vts_prepend_config_file = __DIR__.'/config.local.php')) include $xxx_vts_prepend_config_file; |
unset($xxx_vts_prepend_config_file); |
$xxx_directories_need_mysql = $xxx_vts_prepend_config['directories_need_mysql']; |
unset($xxx_vts_prepend_config); |
|
$xxx_go = false; |
foreach ($xxx_directories_need_mysql as $xxx_directory_need_mysql) { |
if ($xxx_negate = (substr($xxx_directory_need_mysql,0,1) === '!')) { |
$xxx_directory_need_mysql = substr($xxx_directory_need_mysql,1); |
} |
if (strpos($_SERVER['SCRIPT_FILENAME'], $xxx_directory_need_mysql) === 0) { |
$xxx_go = !$xxx_negate; |
} |
unset($xxx_negate); |
} |
unset($xxx_directories_need_mysql); |
unset($xxx_directory_need_mysql); |
|
if ($xxx_go && !function_exists('mysql_connect')) { |
|
$vts_mysqli = null; |
$vts_mysqli_report_set_once = false; |
|
34,6 → 12,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_affected_rows(). No valid connection to server."); |
|
return $li->affected_rows; |
} |
|
42,6 → 21,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_client_encoding(). No valid connection to server."); |
|
return $li->character_set_name(); |
} |
|
50,6 → 30,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_close(). No valid connection to server."); |
|
return $li->close(); |
} |
|
77,6 → 58,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_create_db(). No valid connection to server."); |
|
return mysql_query("CREATE DATABASE `$database_name`", $li) !== false; |
} |
|
104,6 → 86,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_db_query(). No valid connection to server."); |
|
mysql_select_db($database, $li); |
return mysql_query($query, $li); |
// Note: The mysql_*() implementation defines, that we will not jump back to our original DB |
114,6 → 97,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_drop_db(). No valid connection to server."); |
|
return mysql_query("DROP DATABASE `$database_name`", $li) !== false; |
} |
|
122,6 → 106,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_errno(). No valid connection to server."); |
|
return !empty($li->connect_errno) ? $li->connect_errno : $li->errno; |
} |
|
130,6 → 115,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_error(). No valid connection to server."); |
|
return !empty($li->connect_error) ? $li->connect_error : $li->error; |
} |
|
274,6 → 260,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_get_host_info(). No valid connection to server."); |
|
return $li->host_info; |
} |
|
282,6 → 269,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_get_proto_info(). No valid connection to server."); |
|
return $li->protocol_version; |
} |
|
290,6 → 278,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_get_server_info(). No valid connection to server."); |
|
return $li->server_info; |
} |
|
298,6 → 287,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_info(). No valid connection to server."); |
|
return $li->info; |
} |
|
306,6 → 296,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_insert_id(). No valid connection to server."); |
|
return $li->insert_id; |
} |
|
314,6 → 305,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_list_dbs(). No valid connection to server."); |
|
return mysql_query('SHOW DATABASES', $li); |
} |
|
322,6 → 314,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_list_fields(). No valid connection to server."); |
|
return mysql_query("SHOW COLUMNS FROM `$database_name`.`$table_name`", $li); |
} |
|
330,6 → 323,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_list_processes(). No valid connection to server."); |
|
return $li->thread_id; |
} |
|
338,6 → 332,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_list_tables(). No valid connection to server."); |
|
return mysql_query("SHOW TABLES FROM `$database`", $li); |
} |
|
379,6 → 374,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_ping(). No valid connection to server."); |
|
return $li->ping(); |
} |
|
387,6 → 383,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_query(). No valid connection to server."); |
|
return $li->query($query, $resultmode=MYSQLI_STORE_RESULT); |
} |
|
395,6 → 392,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_real_escape_string(). No valid connection to server."); |
|
return $li->escape_string($unescaped_string); |
} |
|
413,6 → 411,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_select_db(). No valid connection to server."); |
|
return $li->select_db($database_name); |
} |
|
421,6 → 420,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_set_charset(). No valid connection to server."); |
|
return $li->set_charset($charset); |
} |
|
429,6 → 429,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_stat(). No valid connection to server."); |
|
return $li->stat(); |
} |
|
447,6 → 448,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_thread_id(). No valid connection to server."); |
|
return $li->thread_id; |
} |
|
455,6 → 457,7 |
global $vts_mysqli; |
$li = is_null($link_identifier) ? $vts_mysqli : $link_identifier; |
if (is_null($li)) throw new Exception("Cannot execute mysql_unbuffered_query(). No valid connection to server."); |
|
// http://php.net/manual/de/mysqlinfo.concepts.buffering.php |
// https://stackoverflow.com/questions/1982016/unbuffered-query-with-mysqli?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa |
$li->real_query($query); |
461,6 → 464,3 |
$li->use_result(); |
} |
|
} |
unset($xxx_directories_need_mysql); |
unset($xxx_directory_need_mysql); |