Mysql_pconnect альтернатива для того, чтобы работать

Так что я знаю, что mysql_pconnect устарела, есть ли способ на самом деле сделать эту работу, у меня есть старый скрипт, который в файле подключения имеет следующее:

$success = mysql_pconnect ($mysql_host, $mysql_user, $mysql_password);
if (!$success)
die ("<b>Cannot connect to database, check if username, password and host are correct.</b>");
$success = mysql_select_db ($database);
if (!$success) {
print "<b>Cannot choose database, check if database name is correct.";
die();
}

У меня есть альтернатива этому?

// LE

try {
$success = new PDO("mysql:host=$mysql_host;dbname=$database", $mysql_user, $mysql_password, array(PDO::ATTR_PERSISTENT=>true));
} catch (PDOException $e) {
die ("<b>Cannot connect to database, check if username, password and host are correct.</b>");
}

$success = mysql_select_db ($database);
if (!$success) {
print "<b>Cannot choose database, check if database name is correct.";
die();
}

это дает мне «Невозможно выбрать базу данных, проверьте правильность имени базы данных».

0

Решение

Ты можешь использовать mysqli тем не мение PDO рекомендуется для выполнения запросов и простого php в наше время.

$connect = new mysqli($host, $user, $password, $db;
$r = $connect->query('SELECT ...');
$rows = $r->fetch_array(MYSQLI_NUM);
0

Другие решения

Прямо из mysql_pconnect docs:

Предупреждение
Это расширение было объявлено устаревшим в PHP 5.5.0 и удалено в PHP 7.0.0.
Вместо этого следует использовать расширение MySQLi или PDO_MySQL.
См. Также MySQL: выбор руководства по API и
связанный FAQ для получения дополнительной информации.

** Альтернативы этой функции включают в себя:

mysqli_connect () с п: префикс хоста

PDO :: __ конструкт () с PDO::ATTR_PERSISTENT как вариант драйвера **

0

Функция mysql_pconnect создает постоянное соединение с базой данных. Чтобы сделать это с помощью PDO (рекомендуемый способ доступа к базе данных в PHP), вы можете сделать это:

try {
$conn = new PDO("mysql:host=$mysql_host;dbname=$database", $mysql_user, $mysql_password, array(PDO::ATTR_PERSISTENT=>true));
} catch (PDOException $e) {
die ("<b>Cannot connect to database, check if username, password and host are correct.</b>");
}

Обратите внимание, что когда вы используете PDO, вам не нужно вызывать mysql_select_db (что также не рекомендуется). В случае PDO база данных является частью DSN (первый параметр конструктора PDO). Фактически, вам нужно будет заменить каждый вызов функции mysql_ * эквивалентным методом PDO.

-1
По вопросам рекламы [email protected]