В свете того, что MySQL скоро устареет, мне нужно переместить большой веб-сайт с использованием ADODB из MySQL в MySQLi.
Теперь я просмотрел несколько тем по Stackoverflow, и благодаря сообществу у меня уже есть общее представление о том, что нужно сделать. Лучшие темы по этому вопросу:
Переключить большой сайт с MySQL на MySQLi
Тем не менее, мне все еще нужно немного больше разъяснений по моему конкретному случаю, где используется ADODB.
Вот что я использую для подключения к БД:
define('DBHOST', 'db_host');
define('DBUSER', 'db_user');
define('DBPASS', 'db_pass');
define('DBNAME', 'db_name');
include('adodb/adodb.inc.php');
$db = ADONewConnection('mysql');
$db->Connect(DBHOST,DBUSER,DBPASS,DBNAME) or die("Database not found!");
Итак, сначала я меняюсь:
$db = ADONewConnection('mysql');
в
$db = ADONewConnection('mysqli');
Это легкая часть, я думаю.
Теперь, когда я использую ADODB, мне также нужно изменить все экземпляры функций MySQL_ * на MySQLi_ * или ADODB позаботится об этом автоматически? Я думаю, что знаю ответ, но все равно должен спросить.
Мои самые распространенные функции MySQL_:
mysql_insert_id()
mysql_query()
mysql_fetch_array()
mysql_num_rows()
mysql_escape_string()
mysql_connect()
mysql_select_db()
mysql_error()
Наиболее распространенное использование, как $variable = mysql_insert_id();
или же $v1 = mysql_query($v);
Есть ли что-то еще, что я должен учитывать при переходе с MySQL на MySQLi для ADODB?
«Мне также нужно изменить все экземпляры функций MySQL_ * на MySQLi_ *?»
Ответ — да. Различные API / функции MySQL не смешиваются. Вы должны использовать один и тот же API / функции от соединения до запроса.
Вы можете использовать следующие функции, просто заменяя mysql_
от mysqli_
при передаче соединения с базой данных в функциях, которые требуют этого, и в качестве первого параметра.
mysqli_query($connection, $query)
,Они отмечены звездочками *
,
mysqli_insert_id() - *
mysqli_query() - *
mysqli_fetch_array()
mysqli_num_rows()
mysqli_escape_string() - *
mysqli_connect() - *
mysqli_select_db() - *
mysqli_error() - *
Других решений пока нет …