Два объекта соединения с Базой Данных (PHP+Mysql)
У меня возникла проблема в следующем:
Есть две функции которые работают с базой данных и принимают как один из аргументов соединение с БД
Функция соединения с БД:
function dbConnect(){
$db = include_once $_SERVER['DOCUMENT_ROOT'] . "/db.php";
$mysqli = new mysqli($db["hostname"],$db["username"], $db["password"], $db["dbname"]);
if ($mysqli -> connect_errno) {
echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
exit();
};
return $mysqli;
}
Функция которая принимает аргумент и объект соединения с базой данных
function InsertRejected($postback_data, $dbConnect){
$sql = "INSERT INTO applications(ConversionID,ClientID,Status,LeadsOfferId,SmsId) VALUES ({$postback_data["id_con"]}, {$postback_data["client_id"]}, 2, {$postback_data["adv_sub"]}, {$postback_data["sms_mailing"]}) on duplicate key update Status = 2";
$dbConnect -> query($sql);
$dbConnect->close();
}
А так-же функция которая так-же делает запрос в БД, так-же принимает в себя объект соединения с Базой данных в качестве аргумента
function sendRejectionSMS($clientID, $dbConnect){
$sql = "SELECT * FROM clients WHERE ID = {$clientID}";
$result = $dbConnect -> query($sql);
$row = $result -> fetch_all(MYSQLI_ASSOC);
$dbConnect->close();
// Подключаемся к СМС сервису
$url = "url";
$ch = curl_init();
$data = [
'action' => 'sendmessage',
'username' => 'name',
'password' => 'pass',
'recipient' => pass,
'messagetype' => 'SMS:TEXT',
'originator' => 'KiT_Notify',
'messagedata' => "Оформите займ без %. Вам доступно до 130.000 тг. cly.kz/4&{$clientID}"
];
$data = http_build_query($data);
$header = array('Content-Type: application/x-www-form-urlencoded');
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST ,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$returned = curl_exec($ch);
curl_close ($ch);
echo "<br>" . $returned;
}
Функции работают по отдельности, но при попытке вызвать их один за другим выбрасывает ошибка
Warning: mysqli::__construct(): (HY000/1045): Access denied for user ''@'localhost' (using password: NO) in /var/www/vhosts/def.kz/cly.kz/models/model_postback.php on line 5
Failed to connect to MySQL: Access denied for user ''@'localhost' (using password: NO)
Например:
InsertRejected($postback_data, dbConnect());
sendRejectionSMS($postback_data["client_id"], dbConnect());
Объекты соединения закрываю после запросы в БД, как я понял они дублируются, поэтому и выходит ошибка, прошу помочь найти решение проблемы