gpt4 book ai didi

php - mysqli_query() : Couldn't fetch mysqli

转载 作者:行者123 更新时间:2023-11-29 07:48:23 25 4
gpt4 key购买 nike

我一直在检查此错误,但没有特定于我的代码的解决方案。我已使用 mysqli_connect() 调用连接到 mysql 服务器。然后将连接结果传递给 $_SESSION ,使其在整个网站上可用 - 正如我在所有其他项目中通常所做的那样,但由于某种原因,我不断收到错误:

"mysqli_query(): Couldn't fetch mysqli"

有生成错误的代码:

if(!isset($_GET['sortBy']))
{
$listSQL = "SELECT * FROM '".$_SESSION['WorkTable']."'";
}
else
{
$listSQL = "SELECT * FROM '".$_SESSION['WorkTable']."' where ".$_GET['sortBy']."='".$_GET['sortBy']."'";
}

//get Contacts From DB
if(!empty(mysqli_query(@$_SESSION['IMWEDBcxn'],$listSQL)))

这是连接类代码...

if(!empty($cxn))
{
$_SESSION['WorkTable'] = $dbTable;

$_SESSION['IMWEDBcxn'] = $cxn;
}

我这里缺少什么吗?

最佳答案

正如 Ivan Solntsev 所说,不要在用户 session 中存储连接处理程序有两个明显的原因:

1- 处理程序无法序列化。

2- 您在用户 session 中存储的任何内容(使用 $_SESSION)仅在该用户的范围内可用。我建议您阅读更多有关 session 和 PHP 的内容,$_SESSION 不是通过 session 存储数据的方法。

所以做类似的事情:

$connect = mysqli_connect("...");
$_SESSION["dbconnection"] = $connect;

mysqli_query($_SESSION["dbconnection"], $query);

错了!

如果您想要持久连接,为了避免在每个数据库查询上重新连接,请阅读有关 MySQLi 和持久连接的信息:http://php.net/manual/en/mysqli.persistconns.php 。如果您运行的 PHP 版本低于 5.3,我建议您使用 PDO(无论您使用的 PHP 版本如何,我都建议您使用 PDO)。

关于php - mysqli_query() : Couldn't fetch mysqli,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27126994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com