0

したがって、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();
}

これにより、「データベースを選択できません。データベース名が正しいかどうかを確認してください。」

4

3 に答える 3

0

mysql_pconnect docsから直接:

警告 この拡張機能は PHP 5.5.0 で廃止され、PHP 7.0.0 で削除されました。代わりに、MySQLi または PDO_MySQL 拡張機能を使用する必要があります。詳細については、MySQL: API ガイドの選択および関連する FAQ も参照してください。

**この機能の代替手段は次のとおりです。

mysqli_connect() with p:ホストプレフィックス

PDO::ATTR_PERSISTENTドライバーオプションとしてPDO ::__construct() **

于 2016-04-16T19:55:14.797 に答える
0

使用できますmysqliPDO、最近ではクエリとプレーン php を実行するために推奨されています。

$connect = new mysqli($host, $user, $password, $db;
$r = $connect->query('SELECT ...');
$rows = $r->fetch_array(MYSQLI_NUM);
于 2016-04-16T19:53:07.160 に答える
-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 コンストラクターの最初のパラメーター) の一部です。実際、mysql_* 関数へのすべての呼び出しを同等の PDO メソッドに置き換える必要があります。

于 2016-04-16T20:02:49.843 に答える