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');
与手动 && 签名显示一样,此 mysqli_select_db 返回一个布尔值。 true 表示选择 DB 成功,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