Мне нужно переместить WebSite на PHP 5.6. Поэтому мне нужно изменить способ подключения PHP к MySQL из mysql_-like-type в PDO или mysqli.Перенос на PHP 5.6: Написание обертки MySQL
Кто-то предложил написать обертку (класс), так что старый способ использования
$db = mysql_connect("localhost", "testusr", "secretpass");
mysql_select_db("testdb", $db);
становится
$db = new PDO("mysql:host=localhost;dbname=testdb", "testusr", "secretpass");
Помимо соединения, у меня есть только основные запросы SQL, как INSERT, SELECT и DELETE.
Есть ли такая вещь, которая «переводит» старые mysql_-запросы в mysqli или PDO?
Это может быть может выглядеть следующим образом:
function mysql_connect_wrapper ($host, $user, $pwd) {
$db = new PDO("mysql:host=localhost;dbname=testdb", "testusr", "secretpass");
return $db;
}
$db = mysql_connect_wrapper("localhost", "testusr", "secretpass");
Спасибо большое!
PDO в основном представляет собой оболочку (ну, слой абстракции базы данных) - не проще ли было бы реорганизовать ваш код для использования PDO, а не писать обертку для обертки? – CD001
в php 5.6+, вам просто нужно опустить устаревшее_warning. функции удаляются в php7 - для которых [поисковая система по вашему выбору] предоставляет десятки руководств по восстановлению mysql_function-set. но в обоих случаях вы должны просто перейти на mysqli_ или PDO и включить новые функции, которые просто не могут быть использованы просто с помощью оболочек с именем mysql_. –
Также просто замена 'mysql_ *' вызовов с помощью вызовов PDO - это огромный упущенный шанс сделать ваш код нормальным, используя здравый API. – PeeHaa