打开和关闭 mysqli 查询的正确方法

2023-12-14

我有一个简单但令人困惑的问题,特别是对于像我这样自学程序员的人......
我已经阅读了 PHP.NET 和 MYSQL.COM 中的不同文档,它们都解释了如何打开和如何关闭它,但对于这个问题并没有真正的帮助,至少对我来说。

我学习的方式如下
我需要一个文件来连接我的连接,例如 dbconnection.php 或 db.php,名称并不重要,但内容重要,所以这就是我总是做的...

<?php
// con.php
$host = 'localhost';
$us = 'root'; // or whatever name for the user
$ps = 'abcd'; // your password
$db = 'abc'; // The name of your DB

$con =  mysqli_connect ($host, $us, $ps, $db);

if (mysqli_connect_errno()) {
  echo "DB server offline: ". $mysqli->connect_error;
  exit();
}

现在我已经连接到数据库了,现在让我们去取一些西瓜

<?php
include ('con.php');
// Lets get our varibales $_GET or $_POST
// Lets clean our variables
// Lets make sure that the data is what we expect, numbers and letters
// because thats how I roll!

$query_one = "SELECT * FROM table 1 WHERE id = 1";
$r_one = mysqli_query($con, $query_one);
$rows = mysqli_fetch_assoc($r_one); 
// now lets echo the results, or print_r() or json()...
mysqli_close($con); // this is pretty straight forward i think...

现在这是我的困惑......

        <?php
        include ('con.php');
        // Lets get our varibales $_GET or $_POST
        // Lets clean our variables
        // Lets make sure that the data is what we expect, numbers and letters
        // because thats how I roll!

        $query_one = "SELECT * FROM table_1 WHERE id = '$ids'";
        $r_one = mysqli_query($con, $query_one);
        $rows = mysqli_fetch_assoc($r_one); 
   // If I closed here the second query doesn't get executed...
    if ($rows['publish'] == 1) {
       $query_two = "SELECT * FROM table_2 WHERE id_user = '$ids' AND items = '$items'";
       // lets do some foreach or while
   // If I closed here the first query still open...
    }
   // If I close here 
    mysqli_close($con); // Am I closing both queries?
// Let get some more data
// Should I close my third query
mysqli_close($con);
// hasn't this been close already? which mean that the third query never got
the change to execute... correct?

所以正如你所看到的,在 MYSQL.com 中它告诉你如何关闭它,而 PHP.net 几乎是一样的,但它没有告诉你何时关闭它。

如果 a = 1 执行查询然后关闭它...
否则,如果 a = 5 执行另一个查询,然后关闭它,我认为这非常简单,但是如果我的一个查询继承另一个查询的信息怎么办...

如果 a = 1 进行查询
然后做一些事情和更多的事情以及大量的 IF
如果第二个查询的结果是 B 则执行另一个查询...依此类推...

也许我只是想太多了,那么还有其他方法来打开或关闭MySQLi

$con_one = conectTodb();
// queries
$con_one ->close();

如果你有3个查询,con_one,con_two,con_third,那么你必须一一关闭,比如con_one->close(),con_two->close(),con_third->close()...等等。 。 正确的?

我问这个是因为几个小时。之前我收到一个错误,告诉我与数据库的连接太多,因此无法处理信息...... 事实证明这是服务器配置错误,这让我开始思考,如果这是真实情况我该怎么办!???如果用户正在购买东西然后 POW 该怎么办!!!连接太多,数据丢失……光是想到这一点就会带来一些噩梦

我不知道...我的大脑现在正在沸腾...有人可以吗?向我解释一下,如果没有什么要问的,请提供一些例子......

非常感谢!

PD。在本地主机上,最大连接数是 10(IIS、WAMP、XAMP)...在共享主机上,我认为是 25...


mysqli_close()关闭一个联系 not a query。仅当您知道当前请求不再需要该连接时,才应该关闭该连接。如果您没有在代码中显式关闭连接,则连接将在 PHP 执行结束时自动关闭。

通常不需要显式关闭连接,显然在某些特殊情况下您可能需要这样做,例如,如果您的脚本在使用连接后进行了一些大量处理,那么在处理过程中释放连接将是有益的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

打开和关闭 mysqli 查询的正确方法 的相关文章

  • 如何检测字符串中的非 ASCII 字符?

    如果我有一个 PHP 字符串 如何以有效的方式确定它是否至少包含一个非 ASCII 字符 我所说的非 ASCII 字符是指不属于该表的任何字符 http www asciitable com http www asciitable com
  • MySQL NOT IN 来自同一个表中的另一列

    我想运行 mysql 查询来选择表中的所有行films其中的值title该列不存在于另一列的所有值中的任何位置 collection 这是我的表格的简化版本 其中包含内容 mysql gt select from films id titl
  • 媒体的 Google Cloud Storage 签名网址

    我已经建立了一个视频网站 为用户提供 m3u8 和关联的 ts 文件 我不希望媒体文件免费可用 所以我所做的是 当用户在网站上时 在 mysql 中使用他们的 IP 和令牌创建一个会话 当他们请求特定媒体子域 mp4 domain com
  • 在我的 index.php 中加载 CSS 和 JS 等资源时出现错误 403

    我使用的是 Linux Elementary OS 并在 opt 中安装了 lampp My CSS and JS won t load When I inspect my page through browser The console
  • 使用 PHP Selenium Webdriver 单击下拉菜单中的选项?

    我正在使用 PHP Selenium Webdriver 包装器Facebook https github com facebook php webdriver 任何人都可以给我一个如何单击或从选择下拉菜单中选择选项的示例吗 我已经尝试过这
  • 使用 PHP PayPal REST API 退款?

    我正在开发一个集成到 PayPal 的 REST API 中的 PHP 应用程序 我正确处理了事务并将事务 ID 保存到 MySQL 数据库中 我现在正在尝试退款 但无法让它停止给出 传入 JSON 请求未映射到 API 请求 错误 有人对
  • SKIP加锁和nowait的区别

    pl sql 中 SKIP 锁定游标和 nowait 游标之间的区别 我认为我找到的这张图片是描述差异的最佳例子 详细说明 http viralpatel net blogs oracle skip locked
  • 在 plpgsql 函数中使用 quote_ident()

    我是创建 plpgsql 函数的新手 我需要一些有关在函数内部执行的动态命令上使用 quote ident 甚至 quote literal 的说明 希望有人能给我一个关于它们如何在函数内部工作的具体解释 TIA 这是一个例子 EXECUT
  • PostgreSQL函数中sql语言和plpgsql语言的区别

    我很新数据库开发所以我对下面的例子有一些疑问 函数 f1 语言 SQL create or replace function f1 istr varchar returns text as select hello varchar istr
  • WordPress 包含 SVG 文件错误

    我使用 PHP 和 WordPress 在本地主机上 我可以毫无问题地包含 SVG 文件 但在实时服务器上 我尝试包含一个 SVG 文件以便能够使用 CSS 对其进行样式设置 我收到此错误消息 Parse error syntax erro
  • 如何纠正这个非法字符串偏移?

    我收到此错误 警告 第 32 行 home mysite public html wp content themes evento lib php extra class php 中的非法字符串偏移 type 我意识到文件中的这部分代码是错
  • PHP print_r() 中 _r 的含义是什么?

    我见过这个答案 https stackoverflow com questions 13103410 what does r suffix mean就这样 但我不确定它对于 PHP 是否相同 如果是 可重入的含义是什么 From PHP n
  • Ebay api GetSellerList,解析响应 XML

    我正在使用 eBay 交易 api 来获取当前列出的卖家股票 我正在使用 GetSellerList 调用 我在解析 xml 时遇到问题 然后将其插入到网站商店中 这是 xml 请求
  • PHP 中的引用

    我正在编写一个自定义博客引擎 并且希望拥有类似于 Wordpress 的引用 我可以查看 WordPress 源代码 但我真的更喜欢某种教程 但到目前为止我还没有找到 有没有关于在 PHP5 中实现 trackbacks 或 pingbac
  • 如何删除文件

    我们有一个脚本 scripts ourscript php和一个文件 media movie1 flv 当我们运行时 我们如何删除这个文件ourscript php Using unlink http php net manual en f
  • WordPress 自定义帖子类型未显示在搜索结果中

    我在 WordPress 中遇到自定义帖子类型 测验 和搜索的问题 自定义帖子类型未显示在我的搜索结果页面中 我的搜索结果中仅显示默认的帖子内容 以下是我使用的代码 函数 php函数create posttype register post
  • Oracle REGEXP_INSTR() 和“a-z”字符范围与预期不匹配

    我想用REGEXP INSTR 在 oracle 数据库中检查小写 大写字符 我知道 upper and lower POSIX 字符类 但我选择了a z这给了我非常奇怪的结果 我不明白 有人可以解释一下吗 SELECT REGEXP IN
  • ZF3/2 - 如何捕获 EVENT_DISPATCH 侦听器中引发的异常?

    有什么方法可以在 EVENT DISPATCH 监听器中抛出异常吗 class Module public function onBootstrap EventInterface event application event gt get
  • 使用 PHP 将 latin1_swedish_ci 转换为 utf8

    我有一个数据库 里面充满了类似的值 Dhaka 应该是 Dhaka 因为我在创建数据库时没有指定排序规则 现在我想修复它 我无法从最初获取数据的地方再次获取数据 所以我在想是否可以在 php 脚本中获取数据并将其转换为正确的字符 我已将数据
  • 使用 crypt() 加密

    我目前正在做一个非常安全的登录系统 但我是 crypt 函数的新手 需要一些快速帮助 我在注册过程中使用 crypt 加密密码字符串并将其保存到数据库中 但是 我如何在登录过程中解密密钥 或者我应该怎么做 或者是否可以对提交的密码字符串进行

随机推荐

  • 使两个重叠的 div 都可点击?

    是否可以制作两个重叠的 div 并且都可以点击 我已将 div 附加到两个容器 container and container2 他们的风格一模一样 只是有一个不同flex direction column 其中之一是flex direct
  • 使用 pyodbc 从 WSL2 连接到 Windows 上的 SQL Server - 连接超时

    我正在尝试从 WSL2 连接到 Windows 上的 SQL 服务器 但收到连接超时错误 我正在使用这段代码 import pyodbc server DESKTOP LFOSSEF database sportsanalytics use
  • 如何因不活动而注销用户

    纯服务器端 PHP 每次用户提交表单时 我都会更新数据库中的 上次活动 时间 我想进行定期检查并强制注销非活动用户以释放许可证 我该怎么做呢 我是否还应该将会话 ID 存储在数据库中 然后销毁会话 这将为另一个用户释放许可证 当第一个用户最
  • 对齐捕获的深度和 RGB 图像

    之前有过提问 here here and here 与我的问题相关 但是我的问题有一个不同的方面 我在之前提出的任何问题中都没有看到过 我使用 Kinect 深度传感器获取了用于研究的数据集 该数据集采用 png 图像格式 用于特定时刻的深
  • Swagger-ui 与 Spring 安全性

    我有一个带有身份验证服务的简单 REST 应用程序 我尝试向其中添加 swagger 和 swagger ui 但我只能看到我的端点 v2 api docs In swagger ui html我只看到端点组 但无法扩展任何列表 在 chr
  • 本地化 (l10n):为我的 mozilla 插件设置默认语言

    我正在开发一个 Mozilla 插件并实现 l10n 我的问题是 如何为我的插件设置默认语言 当我的插件不支持语言时 它会切换到默认语言 当 Mozilla Firefox 的语言改变时 插件会改变它的语言环境吗 如何更改我的 Firefo
  • 图像周围的 Silverlight 文本

    我正在尝试将文本包裹在图像周围 就像使用 html float 属性一样 有没有办法在 silverlight 3 中实现这一点 Thanks 我不久前解决了这个问题 据我所知 确实没有什么好方法 这会起作用 尽管只是很痛苦 为了简化解释
  • 如何配置 PyCharm 在没有 ^space 的情况下自动完成代码?

    When typing in PyCharm I used to automatically get code completion suggestions without having to hit Ctrl Space I must h
  • 没有提升的 WCF wsdualhttpbinding 客户端

    我创建了一个 Windows 服务 服务器 和一个使用 WCF wsdualhttpbinding 回调功能的 WPF 客户端 两个软件之间的所有内容都可以正常工作 但我遇到的问题是客户端需要以管理员权限运行才能工作 这是可以理解的 因为它
  • 适用于 VB6 和 .net 应用程序的最佳 IPC

    在我们的应用程序 文档管理系统 中 我们应该收到屏幕更改的通知 或通知其他程序屏幕更改 以便使两个应用程序查看相同的数据 一个是订单履行应用程序 另一个是订单履行应用程序原始传真的文档查看器 履行应用程序是用 vb6 编写的 文档管理器是用
  • SQL Server 文件名和版本[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我很幸运能够成为一台服务器的管理员 但我不知道这台服务器上有多少个版本的sql server 当我打开Microsoft SQL Server文件时 有一些名为80 90 100 1
  • 线性渐变在 IE 11 中不起作用

    我有一个 css 规则 可以在 chrome firefox 中正常工作 并且曾经在 IE 中工作 现在我看似有效的 css 不起作用了 s tour border radius 5px margin 0 auto width 250px
  • Java HttpClient - 通过代理发布文件

    我尝试使用代理从我的网络应用程序调用外部网站 此外 还需要在此外部网站上执行 POST 请求 我正在使用 tomcat7 org apache httpcomponents 4 3 4 spring 在没有代理的情况下进行跟踪是有效的 我得
  • dropwizard 应用程序中的配置更改以与 React browserHistory 配合使用

    我有一个react应用程序运行在dropwizard服务器 这bundle js在 ui 上提供 当我打开 ui 上的 url 并导航应用程序 并转到 ui content 时 它工作正常 但是当我尝试刷新特定页面 例如 app conte
  • 在 ssrs 中显示 10 行的最大值

    我有一份报告 其中我想显示 10 名具有最高薪水的员工数据 我想通过 SSRS 来完成此操作 请帮助我 请通过 SSRS 而不是 SSMS 来完成 提前致谢 我假设您有一个数据集 每个员工一行 按工资降序排序 您可以申请一个TOP N过滤到
  • 如何在 Swift 中使用 CTFontCopyCharacterSet() 获取字体的所有字符?

    如何获取字体的所有字符CTFontCopyCharacterSet 在斯威夫特 对于 macOS 在实施该方法时出现了该问题OSX CGGlyph 到 UniChar用斯威夫特回答 func createUnicodeFontMap Get
  • 禁用的文本框丢失视图状态

    我根据所选的下拉菜单动态生成表单 该表格由字段组成 十进制值的数据输入 几个文本字段 必须在末尾添加所有小数值并用该值更新 Total TextBox 总计文本框被禁用 当用户输入值后单击表单上的 保存 按钮时 除了禁用的文本框之外 整个表
  • Python - Pandas:选择每组的第一个观察结果

    我想使用以下命令将我以前的 SAS 代码改编为 Pythondataframe框架 在 SAS 中 我经常使用这种类型的代码 假设列按 group id 排序 其中 group id 取值 1 到 10 其中每个 group id 有多个观
  • 有没有办法使用 Excel 以编程方式使用动态数据定义表区域?

    我有一张包含表格的工作表 由 jasper 报告查询生成 该表将成为我的数据透视表的来源 数据透视表是使用外部连接 来自 Microsoft Query 创建的 由于需要先定义源表 然后才能在 Micrososft Query 中使用它 所
  • 打开和关闭 mysqli 查询的正确方法

    我有一个简单但令人困惑的问题 特别是对于像我这样自学程序员的人 我已经阅读了 PHP NET 和 MYSQL COM 中的不同文档 它们都解释了如何打开和如何关闭它 但对于这个问题并没有真正的帮助 至少对我来说 我学习的方式如下我需要一个文