Так что я знаю, что 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();
}
это дает мне «Невозможно выбрать базу данных, проверьте правильность имени базы данных».
Ты можешь использовать mysqli
тем не мение PDO
рекомендуется для выполнения запросов и простого php в наше время.
$connect = new mysqli($host, $user, $password, $db;
$r = $connect->query('SELECT ...');
$rows = $r->fetch_array(MYSQLI_NUM);
Прямо из mysql_pconnect docs:
Предупреждение
Это расширение было объявлено устаревшим в PHP 5.5.0 и удалено в PHP 7.0.0.
Вместо этого следует использовать расширение MySQLi или PDO_MySQL.
См. Также MySQL: выбор руководства по API и
связанный FAQ для получения дополнительной информации.
** Альтернативы этой функции включают в себя:
mysqli_connect () с п: префикс хоста
PDO :: __ конструкт () с PDO::ATTR_PERSISTENT
как вариант драйвера **
Функция 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.