Php mysqli_query():无法';拿不到mysqli

Php mysqli_query():无法';拿不到mysqli,php,mysql,mysqli,Php,Mysql,Mysqli,我一直在检查这个错误,没有针对我的代码的解决方案。我已使用mysqli\u connect()调用连接到mysql服务器。然后将连接结果传递给一个$\u会话,使其在整个网站上都可用-就像我通常在所有其他项目中所做的那样,但出于某种原因,我不断收到错误: "mysqli_query(): Couldn't fetch mysqli" if(!isset($_GET['sortBy'])) { $listSQL = "SELECT * FROM '".$_SESSION['

我一直在检查这个错误,没有针对我的代码的解决方案。我已使用
mysqli\u connect()
调用连接到mysql服务器。然后将连接结果传递给一个
$\u会话
,使其在整个网站上都可用-就像我通常在所有其他项目中所做的那样,但出于某种原因,我不断收到错误:

"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)))
下面是生成错误的代码:

"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所说,出于两个明显的原因,不要在用户会话中存储连接处理程序:

1-无法序列化处理程序

2-您存储在用户会话中的任何内容(使用
$\u session
)仅在该用户的范围内可用。我建议您阅读更多关于会话和PHP的内容,
$\u SESSION
不是在会话上存储数据的方法

所以做一些类似于:

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

mysqli_query($_SESSION["dbconnection"], $query);
这是错误的


如果需要持久连接,为了避免在每个DB查询上重新连接,请阅读有关MySQLi和持久连接的内容:。如果您在5.3下的PHP版本上运行,我建议您使用PDO(无论您使用的是哪种PHP版本,我都建议使用PDO)。

为什么会有char@before$\u会话['IMWEDBcxn']?我知道它是用来避免函数中出现警告的,但这是一个变量,就像mysqliYou的连接链接一样,不能在会话中存储连接处理程序,@Serpes忽略“@”。。。正在尝试一些疑难解答有时数组变量在查询中无法正常工作,特别是像$v['something']这样的东西;看到那些“做些别的事情”了吗?只需将它们赋给普通变量,比如$val=$v['something'];别忘了sql注入。@Ram Sharma为什么编辑我的代码?没有什么问题吗?现在是'ysqli_connect()'这是什么?你编辑错了!伙计们,如果你不想帮忙,不要说或什么都不做。。。