MySQL соединение в массиве GLOBALS - ошибка - PullRequest
1 голос
/ 26 марта 2012

Я недавно переместил приложение с использования старых функций mysql на использование функций mysqli.Приложение подключается к БД при каждом запросе, и со старыми функциями вам не нужно было передавать соединение с БД, но с новыми функциями, которые вы делаете.Я поместил соединение в массив GLOBALS, который будет использоваться моей библиотекой mysql.

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

Вопрос 1: Есть ли причина этого не делать?

Вопрос 2: Кажется, всебудет работать нормально, когда я получаю доступ к приложению, но Googlebot, похоже, возникают проблемы:

mysqli_real_escape_string () ожидает, что параметр 1 будет mysqli, ноль задано

Когда соединениепередается из массива $GLOBALS.Любая идея, почему Googlebot может привести к тому, что соединение с БД не существует?

1 Ответ

0 голосов
/ 26 марта 2012

В зависимости от сложности вашего приложения, я рассмотрел бы переход на выделенный класс (Singleton), который будет обрабатывать все, что связано с вашей базой данных.

Некоторое обсуждение здесь: Global или Singleton для подключения к базе данных?

Кроме того, в зависимости от того же вопроса, возможно, вы захотите взглянуть на PDO , который является новым способом доступа к базам данных в PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...