Доброго времени суток!
Я реализовал механизм динамического подключения к БД(
пример его кода на Pastebin), который на основе данных параметров подключения учитывается тип сервера(Боевой или локальный), благодаря возможностям PDO.
При тестировании на локальном сервере, используя правильные параметры для локального сервера, компилятор выдал ошибку:
Fatal error: Uncaught Error: Call to a member function prepare()
on null in /var/www/.../portalServices/1/send.php on line 145
, ссылаясь на проблемный фрагмент кода:
$galleryList = function($service){
$readyData = [];
if($service == 'content'){
$param = [];
$contentData = explode(' - ', str_replace(['\n'], "", $data['content']));
for($i = 0; $i < count($contentData); $i++){ $param[] = [$contentData[$i] => $contentData[$i + 1]]; }
$readyData = $param;
}
return $readyData;
};
$paramData = $galleryList('content');
$contentQuery = [
'meta' => [
'description' => $data['description'],
'region' => [
'country' => $data['objectCountry'],
'region' => $data['objectRegion']
]
],
'content' => [
'parameters' => $paramData,
'cost' => $data['objectCost']
]
];
$metaTitle = $data['objectTitle'];
$metaCategory = $data['objectAttribute'];
$jsonContent = $contentQuery;
$queryParam = [
't' => $metaTitle,
'c' => $metaCategory,
'j' => json_encode($jsonContent),
'user' => $_COOKIE['portalId']
];
$query = 'INSERT INTO objectData (title, category, content, creator) VALUES(:t, :c, :j, :user)';
$queryTRUE = $database->prepare($query);
return $queryTRUE->execute($queryParam) ? ['message' => 'The object has been successfully added to the portal!'] : ['message' => 'The registration of this object failed'];
Что в механизме не так? Как решить данную проблему подключения к БД с помощью
prepare()
? Заранее вам спасибо!