PHP Fatal error: Call to a member function prepare() on null 错误分析

最近在做登陆系统,为了防止SQL注入,使用MySQLi的预处理语句读取数据库信息。关键代码如下:

    $sql="SELECT password FROM users WHERE id=?";
    $stmt = $con->prepare($sql);

但无论我如何调试,PHP都坚定的告诉我prepare()报错了。

Fatal error: Call to a member function prepare() on null

我在百度、Google上查了一个多小时,依然没有解决。所有教程都简单的一笔带过,这么写就可以了。

捣鼓了很久以后,我发现居然是一个很愚蠢的原因:我的$con变量是通过include方式引用的,是Global变量,但我是在子程序中调用的。所以我在代码前加一句Global $con;就可以了。

因此,如果出现这个错误,意味着是这个MySQLi变量出现问题,要重点排查。

欢迎来到Yari的网站:yar2001 » PHP Fatal error: Call to a member function prepare() on null 错误分析