所以我知道不推荐使用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();
}
这给了我&#34;无法选择数据库,检查数据库名称是否正确。&#34;
答案 0 :(得分:0)
您可以使用mysqli
但是现在建议使用PDO
进行查询和纯PHP。
$connect = new mysqli($host, $user, $password, $db;
$r = $connect->query('SELECT ...');
$rows = $r->fetch_array(MYSQLI_NUM);
答案 1 :(得分:0)
直接来自mysql_pconnect docs:
警告强> 此扩展在PHP 5.5.0中已弃用,并且已在PHP 7.0.0中删除。 相反,应该使用MySQLi或PDO_MySQL扩展。 另请参见MySQL:选择API指南和 相关常见问题解答了解更多信息。
**此功能的替代方案包括:
mysqli_connect() with p: host prefix
PDO::__construct()以public function run()
{
$user = new User;
$user->name = 'John Doe';
$user->email = 'john@gmail.com';
$user->password = 'password';
$user->save();
}
作为驱动程序选项**
答案 2 :(得分:-1)
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构造函数的第一个参数)的一部分。实际上,您需要使用等效的PDO方法替换对mysql_ *函数的每个调用。