我只有一个数据库,为什么要求2个参数?
警告:mysqli_select_db()需要2个参数,1在第5行的C:\ xampp \ htdocs \ _ video_upload \ connect.php中给出
<?php
mysqli_connect('localhost', 'root', ''); //connecting to the database
mysqli_select_db('video_system'); //chosing a database
?>
答案 0 :(得分:2)
mysqli_select_db
函数,当使用过程API时,您需要将实际连接作为第一个参数as shown on the man pages传递。此连接或链接是mysqli_connect
返回的内容,因此您不应忽略mysqli_connect
returns,而应将其分配给变量。
该功能的签名清楚地告诉您所有这些,所以请 RTM 。以下是一些复制粘贴的文章:
\/=============================|
bool mysqli_select_db ( mysqli $link , string $dbname ) ||
//returns bool argument 1 argument 2 ||
mysqli mysqli_connect ([...]) ||
//returns type mysqli accepts vast number of arguments ||
// ||
|======== useful here =======================|
这意味着你必须写:
$db = mysqli_connect('localhost', 'root', '');
mysqli_select_db($db, 'video_system');
就像手册&amp;&amp;签名显示,这个mysqli_select_db
返回一个bool。 true
表示已成功选择数据库,false
表示失败。最好养成检查函数返回值的习惯。无论它看起来多么微不足道。所以:
$db = mysqli_connect('localhost', 'root', '');
if (!mysqli_select_db($db, 'video_system'))
{//if return value is false, echo error message and exit script
echo 'Failed to select db "video_system": ', mysqli_error($db), PHP_EOL;
$db = null;//optional, but generally safer
exit(1);//stop execution
}
//db selected, get to work here
但是您可以通过将选择的DB名称从关闭传递给mysqli_connect
函数来轻松省略第二个函数调用:
$db = mysqli_connect('127.0.0.1', 'root', '', 'video_system');
这可以节省额外函数调用的开销,从而略微提高性能。我还将localhost
字符串更改为IP地址127.0.0.1,这也可以提供帮助,因为使用IP意味着不需要将字符串解析为相应的IP地址。
总而言之,我认为你最好花一些时间reading the documentation