数据库无法连接

时间:2018-04-21 07:31:33

标签: php mysql database

我使用的是Ajax搜索表单,在连接到数据库时,会在输入时显示搜索字词。

但是我的网站上出现了数据库连接问题。

这是我在连接文件(db.inc)中的代码:

<?php

$username = "xxxx";
$password = "xxxx";
$hostname = "xxxx";
$database = "xxxx";

mysqli_connect($hostname, $username, $password) or die(mysql_error());
mysqli_select_db($database) or die(mysqli_error()); 

?>

但是在前端,我收到的错误如下:

Warning:  mysqli_select_db() expects exactly 2 parameters, 1 given in xxxx/db.inc.php on line 9
Warning:  mysqli_error() expects exactly 1 parameter, 0 given in xxxx/db.inc.php on line 9

任何人都可以检查我做错了什么吗?我已粘贴上面的完整db.inc文件。

提前感谢您的帮助。

4 个答案:

答案 0 :(得分:3)

正如错误所说,mysqli_select_db()需要2个参数。 第一个是mysqli_connect()返回的链接,第二个参数应该是数据库名称。 第二个错误意味着您必须将链接添加为mysqli_error的参数。  所以你必须这样写:

$link = mysqli_connect($hostname, $username, $password);

if (!$link) {
    die('Connection error: ' . mysqli_connect_error());
}

mysqli_select_db($link, $database)); 

答案 1 :(得分:1)

$username = "xxxx";
$password = "xxxx";
$hostname = "xxxx";
$database = "xxxx";

$conn=mysqli_connect($hostname, $username, $password) or die(mysql_error());
mysqli_select_db($conn, $database) or die(mysqli_error()); 

答案 2 :(得分:0)

此处缺少第二个参数。所以,正确的语法将是

mysqli_select_db($link, $database) or die(mysqli_error());

您正在使用程序样式,在此样式中,将在mysqli_select_db()中传递两个参数。因此,正确的语法将是

bool mysqli_select_db ( mysqli $link , string $dbname ) 

链接     仅限过程样式:mysqli_connect()或返回的链接标识符     mysqli_init()

<强> DBNAME    数据库名称。

有关详细信息,您可以找到所有详细信息https://dev.mysql.com/doc/apis-php/en/apis-php-mysqli.select-db.html

答案 3 :(得分:0)

您还可以在单​​行中添加数据库名称     mysqli_connect($ hostname,$ username,$ password,$ database);