我使用的是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文件。
提前感谢您的帮助。
答案 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);