0

過去に、単純なものを使用しても問題はありませんでした:

$link = db_connect();

次のような複数のSQLコマンドを含む単一のファイルで:

$sql = "UPDATE table SET...";

$sql_result = mysql_query($sql, $link)
or die("Couldn't execute query.");

$sql2 = "UPDATE table2 SET...";

$sql_result2 = mysql_query($sql2, $link)
or die("Couldn't execute query.");

これで、作成した新しいファイルは、複数/個別の db_connects なしでは機能しません。例えば:

$link = db_connect();

$link2 = db_connect();

$sql = "UPDATE table SET...";

$sql_result = mysql_query($sql, $link)
or die("Couldn't execute query.");

$sql2 = "UPDATE table2 SET...";

$sql_result2 = mysql_query($sql2, $link2)
or die("Couldn't execute query.");

単一の db_connect() を参照する複数の mysql_queries を含む古いファイル。まだ正常に動作しています。何が変わったでしょうか?

ありがとう。

db_connect(); を含むように更新されました。関数:

function db_connect($db="database", $host="localhost", $user="user", $p="password") {

    $dbcnx = @mysql_connect($host, $user, $p);

    if (!$dbcnx)
    {
    echo( "<p>Unable to connect to the database server at this time.</p>" );
    exit();
    }

    $database = @mysql_select_db($db, $dbcnx);
    if (!$db)
    {
    echo "<p>Unable to locate the database at this time.</p>";
    exit();
    }

return $dbcnx;
}
4

2 に答える 2

0

$links を分離したい場合はtrue、4 番目のmysql_connect()パラメーターとして追加します。

$dbcnx = @mysql_connect($host, $user, $p, true);

さらに、別の接続 (別のデータベース、ユーザー、パスワード) を使用する場合は、パラメーターを明示的にdb_connect()2 回目に渡す必要があります。

$link2 = db_connect('database2', 'whateverthehost', 'user2', 'andhispassword');
于 2012-05-23T20:33:15.190 に答える
0

$link をunset()する、値を割り当てる、または $link がデータベースを指さなくなっている何かがない限り、投稿したものは問題ないように見えます。

于 2012-05-23T20:55:09.790 に答える