当前位置: 首页 > 面试题库 >

无法在php中的会话中传递mysqli连接

仉明知
2023-03-14
问题内容

我正在尝试通过与mysqli连接的会话来进行站点上的多个查询,但是当我尝试执行查询时,它会输出警告“无法获取mysqli”

$_SESSION['db']=new mysqli($host,$username,$password,$db);

是否不可能通过会话传递mysqli连接参考?有其他使用方法吗?


问题答案:

是的,这显然是不可能的。

请参阅此处的PHP文档,其中突出显示了警告:
“某些类型的数据无法序列化,因此存储在会话中。它包括资源变量或带有循环引用的对象(即,将对自身的引用传递给另一个对象的对象)。”

MySQL连接就是这样一种资源。

您必须在每次运行页面时重新连接。

如果您可以依赖通过mysql_pconnect()进行连接池连接,这还没有听起来那么糟糕,但是首先请参见本文中有关mysql_pconnect()的更多背景信息。



 类似资料:
  • 当我尝试在数据库中插入数据时,会出现以下错误: 致命错误:未捕获PDOException:在C:\xampp\htdocs\social media\classes\DB中找不到驱动程序。php:5堆栈跟踪:#0 C:\xampp\htdocs\socialmedia\classes\DB。php(5):PDO-

  • 表面问题是:rubymines可以运行ruby程序,但不能调试它们,也不能远程调试,我得到了: 大约10秒钟后 我尝试通过阅读ruby-debug-ide和ruby-debug-base 19代码来找到根本原因,发现: ruby debug ide已经启动了一个DebugThread(@control_thread),它将在127.0.0.1上启动TCPServer绑定,并在端口57000上侦听。

  • 我使用XAMPP, PHP版本5.6.20在Windows.当我尝试连接到mysqli使用: 此错误显示为: 警告:mysqli_connect():(HY000/1045):在C:\xampp\htdocs\tdc\config\setup中拒绝用户'yash'@'localhost'(使用密码:YES)的访问。php在线3

  • 我试图在oracle函数中传递CLOB作为输入参数。函数创建成功,但是当我试图传递一个很长的字符串时,它会给出 ora-01704字符串文字太长 错误。 当我试图通过传递超过5000个字符的长字符串来调用这个函数时,它会给出错误。 有人能帮忙吗

  • 问题内容: 如何在php和mysql中使用数据库表中的会话? 问题答案: 您将需要创建一个像这样的对象: 然后,在session_start之前,初始化此类! http://php.net/manual/zh/function.session-set-save- handler.php http://php.net/manual/zh/function.serialize.php

  • 如何修复错误并连接到jdbc:hive2:/localhost:10000? 谢谢!