我最近将应用程序从使用旧的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可能导致数据库连接不存在?
答案 0 :(得分:0)
根据应用程序的复杂程度,我会考虑切换到专用类(Singleton),它将处理与数据库相关的所有内容。
这里有一些讨论:Global or Singleton for database connection?
此外,再次依赖于同一个问题,您可能需要查看PDO,这是在PHP中访问数据库的新方法。