警告:mysqli_select_db() 需要 2 个参数,其中 1 个给定 *13*

Warning: mysqli_select_db() expects exactly 2 parameters, 1 given *13*

我正在为我的学校开发一个系统,让教师 post 可以在内联网上查看他们当天收到的任何通知。但是我在测试时遇到了这个错误:

Warning: mysqli_select_db() expects exactly 2 parameters, 1 given in C:\Users\Matthew\Desktop\wamp64\www\my-site\viewguestbook.php on line 23.

页面代码如下:

<?php

$host="localhost"; // Host name 
$username="root"; // Mysql username 
$password=""; // Mysql password 
$db_name="test"; // Database name 
$tbl_name="guestbook"; // Table name 

// Connect to server and select database.
mysqli_connect("$host", "$username", "$password")or die("cannot connect server "); 
mysqli_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name";
$result=mysqli_query($sql);
while($rows=mysqli_fetch_array($result)){
?>

注意:这与网站上同名的其他问题不同,因为它处于不同的情况。

mysqli_db_select() 方法需要两个参数

  • 连接对象

  • 数据库名称(需要选择)

因此,您应该将连接对象传递给 mysqli_db_select()

    $host="localhost"; // Host name 
    $username="root"; // Mysql username 
    $password=""; // Mysql password 
    $db_name="test"; // Database name 
    $tbl_name="guestbook"; // Table name 

    // Connect to server and select database.
    $connection = mysqli_connect("$host", "$username", "$password")or die("cannot connect server "); 
    mysqli_select_db($connection,$db_name)or die("cannot select DB");
    $sql="SELECT * FROM $tbl_name";
    $result=mysqli_query($connection,$sql);
    while($rows=mysqli_fetch_array($result)){
?>

mysqli_select_db()的第一个参数是连接对象。这是语法:

mysqli_select_db(connection,dbname);

将您的代码更改为:

$con = mysqli_connect("$host", "$username", "$password")or die("cannot connect server "); 
mysqli_select_db($con,$db_name)or die("cannot select DB");

也将连接对象添加为 mysqli_querymysqli_fetch_array 函数中的第一个参数。请参考此 link 的语法。

改变

mysqli_connect("$host", "$username", "$password")or die("cannot connect server "); 
mysqli_select_db("$db_name")or die("cannot select DB");

 $connection =mysqli_connect("$host", "$username", "$password")or die("cannot connect server "); 
 mysqli_select_db($connection ,"$db_name")or die("cannot select DB");

因为mysqli_select_db也需要连接对象。