Php 警告:mysqli_select_db()要求参数1为mysqli,给定为null
我一直收到一条错误消息Php 警告:mysqli_select_db()要求参数1为mysqli,给定为null,php,mysql,mysqli,Php,Mysql,Mysqli,我一直收到一条错误消息 <?php mysqli_connect("localhost", "root", ""); mysqli_select_db("account"); ?> 以下是我尝试在浏览器中加载时收到的错误消息: 警告:mysqli_select_db()要求参数1为mysqli,在第4行的C:\xampp\htdocs\MyWebsite\TechanexSiteBase\connect.php中给出空值 Yuu可以创建mysqli连接,如下所示: $mys
<?php
mysqli_connect("localhost", "root", "");
mysqli_select_db("account");
?>
以下是我尝试在浏览器中加载时收到的错误消息:
警告:mysqli_select_db()要求参数1为mysqli,在第4行的C:\xampp\htdocs\MyWebsite\TechanexSiteBase\connect.php中给出空值
Yuu可以创建mysqli连接,如下所示:
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
完整指南
注意:
- 使用mysqli,您可以在
mysqli\u connect()
- 您必须使用
,mysqli\u connect\u error()
,才能获取而不是mysqli\u error()
中出现错误,因为后者需要您提供 有效的连接mysqli\u connect()
<?php // Creating a database connection $connection = mysqli_connect("localhost", "root", "", "databse_name"); if (!$connection) { die("Database connection failed: " . mysqli_connect_error()); } // Selecting a database $db_select = mysqli_select_db($connection, "databse_name"); if (!$db_select) { die("Database selection failed: " . mysqli_connect_error()); } ?>
只需复制并粘贴&然后更改数据库名称就可以通过一行建立连接,如下所示
<?php
$con = mysqli_connect("localhost", "root", "","account");
?>
这里,localhost=服务器地址;root=用户名;“”=密码;account=您的数据库名称
或
还有另一种方法,就像您尝试过的:
<?php
$con = mysqli_connect("localhost", "root", ""); //connection
mysqli_select_db($con, "account"); //Mysqli_select_db() function expects exactly 2 parameters.
?>
问题正文没有意义,因为代码与错误消息不一致。对于当前的代码,错误消息应该是
警告:mysqli_select_db()期望参数1是mysqli,字符串给定的
除此之外,这个问题似乎吸引了许多真正从问题标题中得到错误的访问者。对于他们,这里有一个完整的、适当的、关于以下方面的指南:
按照这个程序,你永远不会出现这样的错误。以及由其他答案中建议的代码引起的许多其他错误
此代码的重要优点包括
- 如您所见,根本不需要调用mysqli\u select\u db()函数,因为数据库名称可以在
mysqli\u connect()中提供
- 设置了正确的错误报告模式,因此将报告实际错误消息,解释为什么
返回mysqli_connect()
,因此您可以修复错误李>null
- 必须始终设置正确的字符集
- 并且应正确处理连接错误。某些mysqli内部组件并不是您真正希望网站访问者看到的内容李>
关于所有这些问题的详细解释可以在上面链接的文章中找到。您可以将您的db名称添加到
mysqli_connect(“localhost”、“root”、“account”)代码>作为第四要素您不应将面向对象方法和基于函数的方法混用请阅读:请阅读:
<?php
$con = mysqli_connect("localhost", "root", ""); //connection
mysqli_select_db($con, "account"); //Mysqli_select_db() function expects exactly 2 parameters.
?>
$host = '127.0.0.1';
$db = 'test';
$user = 'root';
$pass = '';
$charset = 'utf8mb4';
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
try {
$mysqli = mysqli_connect($host, $user, $pass, $db);
mysqli_set_charset($mysqli, $charset);
} catch (\mysqli_sql_exception $e) {
throw new \mysqli_sql_exception($e->getMessage(), $e->getCode());
}