<?php //DANE DO LOGOWANIA DO BD ?> <?php //PLIK LOGOWANIA DO BD I SPRAWDZANIA POLACZENIA Z BD class dbConnect { function __construct() { require_once 'config.php'; $db_mysqli = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABSE); //$db_mysqli->query('SET NAMES utf8'); if (!$db_mysqli) { . mysqli_connect_error()); } else { } } public function CloseDb() { mysqli_close(); } } ?>
To połączenie działa poprawnie, problem pojawia się gdy mam się odwołać do zmiennej $db_mysqli, która przechowuje "połączenie z bazą" w skrypcie logowania:
<?php // KLASA Z FUNKCJAMI LOGOWANIE UŻYTKOWNIKA class Functions { function __construct() { // connecting to database $db_mysqli = new dbConnect(); } function __destruct() { } public function Login($login, $hasloSha1) { $result = $db_mysqli->prepare("SELECT haslo FROM uzytkownicy WHERE login=? AND haslo=?"); $result->bind_param('ss', $login, $hasloSha1); $result->execute(); $result->store_result(); $row = mysqli_fetch_assoc($result); $kodAktywowany = $row['kod']; //sprawdzenie czy taki uzytkownik istnieje if ($result->num_rows == 1) { $_SESSION['logowanie'] = $login; return TRUE; } else { return FALSE; } } } ?>
Nie wiem jak przerobić skrypt abym mógł się dowołać do zmiennej $db_mysqli w zapytaniu:
<?php $result = $db_mysqli->prepare("SELECT haslo FROM uzytkownicy WHERE login=? AND haslo=?"); ?>
Funkcja wywołująca klasę z instancją:
<?php $func = new Functions(); if ($_POST['log_in']) { $login = mysqli_real_escape_string($db_mysqli, $_POST['login']); $haslo = mysqli_real_escape_string($db_mysqli, $_POST['pass']); $hasloSha1 = sha1($haslo); $user = $func->Login($login, $hasloSha1); if ($user == TRUE) { } else { } } } ?>
Zwraca kilka błędów:

Link do obrazka: KLIK