Warning: mysqli_query() expects parameter 1 to be mysqli, null given in(警告:mysqli_query() 期望参数 1 是 mysqli,在)
问题描述
我正在尝试构建一个简单的自定义 CMS,但出现错误:
I am trying to build a simple custom CMS, but I'm getting an error:
警告:mysqli_query() 期望参数 1 是 MySQLi,在
Warning: mysqli_query() expects parameter 1 to be MySQLi, null given in
为什么我会收到这个错误?我所有的代码都已经是 MySQLi 并且我使用了两个参数,而不是一个.
Why am I getting this error? All my code is already MySQLi and I am using two parameters, not one.
$con=mysqli_connect("localhost","xxxx","xxxx","xxxxx");
//check connection
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL:" . mysqli_connect_error();
}
function getPosts() {
$query = mysqli_query($con,"SELECT * FROM Blog");
while($row = mysqli_fetch_array($query))
{
echo "<div class="blogsnippet">";
echo "<h4>" . $row['Title'] . "</h4>" . $row['SubHeading'];
echo "</div>";
}
}
推荐答案
正如评论中提到的,这是一个范围界定问题.具体来说,$con
不在您的 getPosts
函数范围内.
As mentioned in comments, this is a scoping issue. Specifically, $con
is not in scope within your getPosts
function.
您应该将连接对象作为依赖项传入,例如
You should pass your connection object in as a dependency, eg
function getPosts(mysqli $con) {
// etc
如果您的连接失败或发生错误,我也强烈建议您停止执行.这样的东西就足够了
I would also highly recommend halting execution if your connection fails or if errors occur. Something like this should suffice
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // throw exceptions
$con=mysqli_connect("localhost","xxxx","xxxx","xxxxx");
getPosts($con);
这篇关于警告:mysqli_query() 期望参数 1 是 mysqli,在的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:警告:mysqli_query() 期望参数 1 是 mysqli,在


基础教程推荐
- Libpuzzle 索引数百万张图片? 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- 在多维数组中查找最大值 2021-01-01