17

私は Mysqli_* を初めて使用し、次のエラーが発生しています。

警告: mysqli_select_db() は、パラメーター 1 が mysqli であると想定します。これは、11 行目の D:\Hosting\9864230\html\includes\connection.php で指定された文字列です。

警告: mysqli_error() は、13 行目の D:\Hosting\9864230\html\includes\connection.php で 0 が指定された 1 つのパラメーターを想定しています。

データベースの選択に失敗しました:

<?php
require("constants.php");

// 1. Create a database connection
$connection = mysqli_connect(DB_SERVER,DB_USER,DB_PASS);
if (!$connection) {
    die("Database connection failed: " . mysqli_error());
}

// 2. Select a database to use 
$db_select = mysqli_select_db(DB_NAME,$connection);
if (!$db_select) {
    die("Database selection failed: " . mysqli_error());
}
?>
4

2 に答える 2

58

あなたの議論の順序が間違っています。ドキュメントによると、接続が最初に来ます

<?php
require("constants.php");

// 1. Create a database connection
$connection = mysqli_connect(DB_SERVER,DB_USER,DB_PASS);

if (!$connection) {
    error_log("Failed to connect to MySQL: " . mysqli_error($connection));
    die('Internal server error');
}

// 2. Select a database to use 
$db_select = mysqli_select_db($connection, DB_NAME);
if (!$db_select) {
    error_log("Database selection failed: " . mysqli_error($connection));
    die('Internal server error');
}

?>
于 2012-12-20T19:35:42.980 に答える
6
// 2. Select a database to use 
$db_select = mysqli_select_db($connection, DB_NAME);
if (!$db_select) {
    die("Database selection failed: " . mysqli_error($connection));
}

引数の順序をmysqli_select_db()逆に取得しました。またmysqli_error()、接続引数を指定する必要があります。mysqli_XXX は mysql_XXX とは異なり、これらの引数はオプションではなくなりました。

mysqli を使用すると、DB を指定できることにも注意してくださいmysqli_connect()

$connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME);
if (!$connection) {
  die("Database connection failed: " . mysqli_connect_error();
}

からエラーを取得するには、ではなくを使用する必要があります。後者では有効な接続を提供する必要があるためです。mysqli_connect_error()mysqli_error()mysqli_connect()

于 2012-12-20T19:35:29.453 に答える