GLOBALS数组中的mysqli连接 - 错误

时间:2012-03-26 15:10:43

标签: php mysql mysqli

我最近将应用程序从使用旧的mysql函数移动到使用mysqli函数。应用程序在每个请求上连接到数据库,使用旧功能,您不需要传递数据库连接,但使用新功能。我已将连接放在GLOBALS数组中以供我的mysql库使用。

$GLOBALS['connection'] = mysqli_connect($host, $user, $pass, $db);

问题1:有没有理由不这样做?

问题2:当我访问应用程序时,一切似乎都运行良好,但Googlebot似乎遇到了麻烦:

  

mysqli_real_escape_string()期望参数1为mysqli,null给定

$GLOBALS数组传入连接时。 Anny想知道为什么Googlebot可能导致数据库连接不存在?

1 个答案:

答案 0 :(得分:0)

根据应用程序的复杂程度,我会考虑切换到专用类(Singleton),它将处理与数据库相关的所有内容。

这里有一些讨论:Global or Singleton for database connection?

此外,再次依赖于同一个问题,您可能需要查看PDO,这是在PHP中访问数据库的新方法。