Я начинаю работать с PHP 7 с mssql прямо сейчас, и мне нужно было переключить функции sql из mssql_ в sqlsrv_. Когда я использовал функции mssql, я менял базу данных с помощью функции mssql_change_db, но, как я увидел сейчас, вместо этой функции нет альтернативных функций. Я думал, что эта функция купит себя, используя USE [DB] в каждом запросе, но она кажется бесполезной или неэффективной. Я думал о другом, что кажется лучше.
Другой способ, который я думаю о том, чтобы добавить перед каждой таблицей имя DB_NAME.dbo.table.
Я также начал строить функцию таким образом, которая находит имя таблицы и автоматически добавляет имя базы данных с «.dbo» перед именем таблицы.
Вот что я делал до сих пор: (я только начал его строить)
Это просто пример проклятия, который еще не закончен.
Каков правильный способ переключения базы данных с помощью sqlsrv?
public function exec($mainQuery, $db = NULL)
{
if(isset($db)) {
$query = $mainQuery;
$query = explode('from ', $query);
$query = $query[1]; // Getting the rest of the query after the word "Form"
if (strpos($query, 'where') !== false) { // Checking if the rest of the query includes the word "Where"
$query = explode('where', $query); // Taking the word before the word "Where"
$tableName = $query[0];
}
else { // The rest of the query is actually the table name, because there is no "Where" in the query
$tableName = $query;
}
$pQuery = str_replace("$tableName", " $db.dbo.$tableName", $mainQuery); // Replacing the table name with the DB.dbo.tablename
return sqlsrv_query($this -> sqlHandle, $pQuery);
}
else {
return sqlsrv_query($this -> sqlHandle, $mainQuery);
}
}
я должен построить его также для JOIN, INSERT INTO(), UPDATE.
Я не знаю почему, но я чувствую, что это плохой способ сделать это,
Вот почему я спрашиваю вас, что лучше всего подходит для переключения баз данных.
Спасибо заранее.
Спасибо, что ответили мне, что в моем случае нет «базы данных по умолчанию», я использую 6 баз данных, и я использую их все на каждой кодовой странице, которую я кодирую, я не сделал базы данных сами по себе, это то, что вставляет в нее данные. Благодарю вас, я думаю, что пойду дальше. – guyshitz