”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 为什么 `mysqli_query()` 返回“警告:mysqli_query() 期望参数 1 为 MySQLi,给定 null”?

为什么 `mysqli_query()` 返回“警告:mysqli_query() 期望参数 1 为 MySQLi,给定 null”?

发布于2024-12-22
浏览:989

Why Does `mysqli_query()` Return

理解“警告:mysqli_query() 期望参数 1 为 MySQLi,在中给出 null”错误

在您尝试创建自定义CMS,您遇到以下错误消息:

“警告:mysqli_query() 期望参数 1 为 MySQLi, null Give in"

错误原因

此错误表明执行 SQL 查询的 mysqli_query() 函数需要 MySQLi 对象作为其第一个参数。但是,在 getPosts() 函数中,您传递的是 null 值而不是 MySQLi 对象。

解决方案

此问题的解决方案是确保$con MySQLi 对象在 getPosts() 函数的范围内。在您的代码中, $con 是在全局范围内定义的,但在函数内无法访问它。

将 MySQLi 对象作为依赖项传递

一种方法解决方法是将 MySQLi 对象作为依赖项传递给 getPosts() 函数。方法如下:

function getPosts(mysqli $con) {
    // etc
}

通过将 MySQLi 对象作为函数的参数,您可以确保它在函数的作用域内可用并且可以被 mysqli_query() 使用。

其他建议

除了解决范围界定问题外,还可以考虑实施以下措施建议:

  • 通过使用 mysqli_report() 设置错误报告选项来处理错误和连接失败。
  • 如果使用 mysqli::error 发生连接错误或查询错误,则停止脚本执行().

下面是如何实现这些的示例建议:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // throw exceptions
$con=mysqli_connect("localhost","xxxx","xxxx","xxxxx");

if (!$con) {
    throw new Exception("Failed to connect to MySQL: " . mysqli_connect_error());
}

getPosts($con);

通过实施这些建议,您可以确保自定义 CMS 的稳健性和可靠性。

最新教程 更多>
  • HTML 格式标签
    HTML 格式标签
    HTML 格式化元素 **HTML Formatting is a process of formatting text for better look and feel. HTML provides us ability to format text without us...
    编程 发布于2024-12-22
  • 为什么我不能直接从定义类中调用内联友元函数?
    为什么我不能直接从定义类中调用内联友元函数?
    内联友元函数的可见性范围尽管在类中定义了内联友元函数,但它们的实际范围超出了类的边界。 C 标准规定,内联友元函数的名称引用在最近的封闭命名空间范围中声明的函数。但是,在该命名空间内提供匹配声明之前,无法通过非限定或限定查找访问此声明的函数。范围。因此,从类本身、封闭作用域或成员函数直接调用友元函数...
    编程 发布于2024-12-22
  • ## [].forEach.call() 如何转换 JavaScript 类数组结构?
    ## [].forEach.call() 如何转换 JavaScript 类数组结构?
    JavaScript 中的数组转换:了解 [].forEach.call()使用 JavaScript 时,您可能会遇到使用以下代码片段[].forEach.call() 迭代元素列表。该技术允许使用数组函数扩展类似数组的结构,例如 NodeList。空数组 [] 用于访问 forEach 函数,该...
    编程 发布于2024-12-22
  • 如何使用 CSS 创建具有固定标题的可滚动表格?
    如何使用 CSS 创建具有固定标题的可滚动表格?
    如何使用 CSS 和固定标题制作可滚动表格在 Web 开发中,通常需要创建包含大量数据的表格需要滚动。然而,在滚动表格主体的同时保持固定的标题可能具有挑战性。以下是实现此效果的方法:HTML 结构首先,我们必须确保 HTML 结构正确。我们有一个带滚动条的外部 div,一个包含表格的内部 div,表...
    编程 发布于2024-12-22
  • 如何使用 JavaScript 和 Python 生成 RSA 密钥
    如何使用 JavaScript 和 Python 生成 RSA 密钥
    在当今的数字时代,确保敏感信息的安全至关重要。 RSA 是最广泛使用的加密技术之一,它通过允许安全通信和数据保护来帮助实现这一目标。如果您是想要学习如何生成 RSA 密钥对的初学者,本教程将指导您通过 JavaScript 和 Python 完成该过程。 什么是 RSA? RSA (...
    编程 发布于2024-12-22
  • 大批
    大批
    方法是可以在对象上调用的 fns 数组是对象,因此它们在 JS 中也有方法。 slice(begin):将数组的一部分提取到新数组中,而不改变原始数组。 let arr = ['a','b','c','d','e']; // Usecase: Extract till index p...
    编程 发布于2024-12-22
  • 当鼠标悬停在子元素上时,如何仅使用 CSS 更改父容器的背景颜色?
    当鼠标悬停在子元素上时,如何仅使用 CSS 更改父容器的背景颜色?
    更改子级悬停时父容器的背景颜色(仅限 CSS)而有关使用 CSS 选择父元素的问题通常标记为重复,它忽略了实际解决方案的需要。特别是,当鼠标悬停在其子容器上时更改父容器的背景颜色的问题可以通过仅 CSS 方法来解决。指针事件和悬停: 为了达到这个效果,我们可以操作指针事件和:hover伪类:设置po...
    编程 发布于2024-12-22
  • 如何修复 MySQL 存储表情符号时出现“字符串值不正确”错误?
    如何修复 MySQL 存储表情符号时出现“字符串值不正确”错误?
    解决 MySQL 表情符号存储中的“字符串值不正确”错误存储包含“🎶”等表情符号的推文时,用户可能会遇到错误,指出“字符串值不正确...”此错误是由不兼容的字符编码引起的。要解决此问题问题,数据库和存储推文的表的字符集需要配置为支持 Unicode 字符。操作步骤如下:修改MySQL配...
    编程 发布于2024-12-22
  • 如何逐行读取大文本文件以避免内存过载?
    如何逐行读取大文本文件以避免内存过载?
    逐行读取大文本文件,不会造成内存超载处理超出内存容量的海量文本文件时,逐行读取,不会造成内存超载内存超载变得至关重要。一种节省内存的方法涉及直接在文件对象上使用 for 循环。与 open(...) 一起使用创建一个上下文管理器,该管理器在读取后自动关闭文件。这是一个示例:with open(&qu...
    编程 发布于2024-12-22
  • 如何使用 MySQL 查找今天生日的用户?
    如何使用 MySQL 查找今天生日的用户?
    如何使用 MySQL 识别今天生日的用户使用 MySQL 确定今天是否是用户的生日涉及查找生日匹配的所有行今天的日期。这可以通过一个简单的 MySQL 查询来实现,该查询将存储为 UNIX 时间戳的生日与今天的日期进行比较。以下 SQL 查询将获取今天有生日的所有用户: FROM USERS ...
    编程 发布于2024-12-22
  • 如何在Go中使用正则表达式实现密码验证而不回溯?
    如何在Go中使用正则表达式实现密码验证而不回溯?
    Go 中使用正则表达式进行密码验证密码验证是用户身份验证和安全的一个重要方面。 Go 通过 regexp 包为正则表达式处理提供了强大的标准。本文探讨了在 Go 中使用正则表达式实现密码验证的挑战和解决方案。与许多其他语言相反,Go 的正则表达式风格不支持回溯。这对匹配复杂的密码模式造成了很大的限制...
    编程 发布于2024-12-22
  • 如何正确迭代 getElementsByClassName 并避免不可预测的行为?
    如何正确迭代 getElementsByClassName 并避免不可预测的行为?
    通过 getElementsByClassName 正确迭代使用网页时,通过类名访问元素是一项常见任务。 getElementsByClassName 方法提供一个 NodeList,它表示匹配元素的集合。但是,迭代 NodeList 可能很棘手,尤其是在修改 DOM 时。在您的情况下,您尝试迭代 ...
    编程 发布于2024-12-22
  • 尽管代码有效,为什么 POST 请求无法捕获 PHP 中的输入?
    尽管代码有效,为什么 POST 请求无法捕获 PHP 中的输入?
    解决 PHP 中的 POST 请求故障在提供的代码片段中:action=''而不是:action="<?php echo $_SERVER['PHP_SELF'];?>";?>"检查 $_POST数组:表单提交后使用 var_dump 检查 $_POST 数...
    编程 发布于2024-12-22
  • 为什么 Go 中 `func` 后面有括号?
    为什么 Go 中 `func` 后面有括号?
    理解Go中func后面括号的意义作为Go编程领域的新手,你可能会遇到在func关键字后面直接使用括号的情况。这可能会令人困惑,特别是如果您不熟悉 Go 独特的语法。让我们来解释一下这个看似神秘的功能。背后是什么(v 版本)?在 Go 中,func 后面的括号不是函数签名的一部分,而是表示方法。方法是...
    编程 发布于2024-12-22
  • 如何放宽 PHP 中的 open_basedir 限制?
    如何放宽 PHP 中的 open_basedir 限制?
    放宽 PHP 的 open_basedir 限制PHP 的 open_basedir 限制限制对指定目录树的文件访问。但是,在管理 Web 根目录之外的文件时,此限制可能会成为障碍。为了解决这个问题,您可以实施多种解决方法。一种方法是修改 Apache 的配置文件(例如 httpd.conf),以在...
    编程 发布于2024-12-22

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3