1. ホーム
  2. php

[解決済み】mysqli_select_db()は、パラメータ1がmysqliであることを期待し、文字列が与えられる。

2022-02-15 15:39:52

質問

Mysqli_*は初めてなのですが、以下のエラーが発生します。

警告: mysqli_select_db() expects parameter 1 to be mysqli, string given in D:\Hosting9864230htmlincludesconnection.php on line 11

警告: mysqli_error() は正確に1つのパラメータを予期しています。 D:\Hosting 9864230htmlincludesconnection.php on line 13

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

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

解決方法は?

引数の順番が間違っています。によって、接続が先になります。 ドキュメント

<?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');
}

?>