Subversion Repositories prepend

Compare Revisions

Regard whitespace Rev 8 → Rev 9

/trunk/php_auto_pre/001-mysql_replacement.php
3,7 → 3,29
// 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;
 
12,7 → 34,6
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;
}
 
21,7 → 42,6
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();
}
 
30,7 → 50,6
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();
}
 
58,7 → 77,6
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;
}
 
86,7 → 104,6
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
97,7 → 114,6
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;
}
 
106,7 → 122,6
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;
}
 
115,7 → 130,6
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;
}
 
260,7 → 274,6
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;
}
 
269,7 → 282,6
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;
}
 
278,7 → 290,6
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;
}
 
287,7 → 298,6
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;
}
 
296,7 → 306,6
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;
}
 
305,7 → 314,6
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);
}
 
314,7 → 322,6
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);
}
 
323,7 → 330,6
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;
}
 
332,7 → 338,6
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);
}
 
374,7 → 379,6
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();
}
 
383,7 → 387,6
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);
}
 
392,7 → 395,6
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);
}
 
411,7 → 413,6
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);
}
 
420,7 → 421,6
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,7 → 429,6
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();
}
 
448,7 → 447,6
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;
}
 
457,7 → 455,6
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);
464,3 → 461,6
$li->use_result();
}
 
}
unset($xxx_directories_need_mysql);
unset($xxx_directory_need_mysql);