konto usunięte
Temat: uniwersalna klasa/funkcja do pobierania danych z bazy
Witam. Dopiero zaczynam przygodę z PHP i MySQL i nie wiem jak rozwiązać pewien problem. Chciałbym do mojej stronki podejść maksymalnie obiektowo i stworzyć sobie jakąś funkcję lub klasę która wywoła mi dowolną procedurkę MySQL i zwróci wynik tej procedury (gdyż w większości przypadków będą to SELECTy) w postaci jakiegoś resultseta. Zaznaczam że funkcja lub klasa będzie na jednej stronce wywoływana wielokrotnie więc pojawia się problem z zamykaniem połączenia gdyż nie mogę tego zrobić póki nie zapiszę wyniku zapytania do jakiejś zmiennej (chciałbym, żeby był to resultset bo dość łatwo się po nim poruszać). Obecnie mam to rozwiązane tak:tutaj część kodu z klasy który zwraca store_resulta
....
public function myQuery($query)
{
mysqli_set_charset($mysqli, "utf8");
$mysqliMultiResult = mysqli_multi_query($mysqli, $query);
if (mysqli_errno($mysqli))
{
LogError($errno, $errstr, $errfile, $errline) ;
}
if ($mysqliMultiResult)
{
return mysqli_store_result($mysqli);
}
}
.....
tutaj wywołanie pojawiające się w kilku miejscach na stronie:
function aaaa()
{
$obj = new DBClass()
$result=$obj->myQuery("CALL proc");
if ($result==null)
{
LogError($errno, $errstr, $errfile, $errline) ;
}
else
{
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {tutaj sobie przypisuje do zmiennych jakie potrzebuję}
mysqli_free_result($result);
}
}