web-dev-qa-db-ja.com

mysqli_select_db()は、パラメーター1がmysqliであり、文字列が与えられることを期待しています

私はMysqli_ *が初めてで、これらのエラーが発生しています。

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

警告:mysqli_error()は、1行目のD:\ Hosting\9864230\html\includes\connection.phpに指定された1つのパラメーター、0のみを必要とします

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

<?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());
}
?>
8
user1551909

引数の順序が間違っています。 docs に従って最初に接続が行われます

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

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

// 2. Select a database to use 
$db_select = mysqli_select_db($connection, DB_NAME);
if (!$db_select) {
    die("Database selection failed: " . mysqli_error($connection));
}
?>
48
Chris McKnight
_// 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では、mysqli_connect()でDBを指定できることに注意してください。

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

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

5
Barmar