![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 3.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
witam, czy ktoś może wie dlaczego tak jest?
korzystam z biblioteki HTML_AJAX, łączę się z bazą zeby coś wyciągnąć a potem wrzucic to korzystając z technik ajaxa na strone. i tu problem: jak korzsytam z interfejsu mysqli, czyli: Kod class SheetSizes{ function getSizes($sheets_id){ $db = db_connect(); if (!$db){ return 0; } $querySizes = "select * from tSheets where " ."sheets_id ='$sheets_id';"; $result = $db->query($querySizes); if (!$result){ return false; } $row = $result->fetch_assoc(); $sizes["name"] = $row["sheets_name"]; $sizes["columns"] = $row["sheets_columns"]; $sizes["rows"] = $row["sheets_rows"]; $db->close; return $sizes; } } problem jest taki ze zmienna $result jest albo pusta, albo są w niej jakieś śmieci. a jak korzsytam z proceduralnego interfejsu mysql: Kod class SheetSizes{ function getSizes($sheets_id){ if (mysql_connect('localhost', 'user', 'pass')and mysql_select_db('baza')) { $wynik = mysql_query("select * from tSheets where sheets_id ='$sheets_id';"); mysql_close(); } if ($wynik) { $row = mysql_fetch_assoc($wynik); } $sizes["name"] = $row["sheets_name"]; $sizes["columns"] = $row["sheets_columns"]; $sizes["rows"] = $row["sheets_rows"]; return $sizes; } } to wszystko jest ok... używam mysqli od dawna, mam swoje pliki konfigurujące połączenia i udostępniające interfejs tego połączenia i wolałbym nie musieć pzechodzić na mysql. po stronie klienta mam: Kod <script type='text/javascript'> function buildSheet() { remoteSheetSizes.getSizes(1); } // Stworzenie tablicy asocjacyjnej do składowania metod zwrotnych var sheetSizesCallback = { getSizes: function(resultSet) { if (!resultSet) drawTable(0, 0, 'brak'); else{ var name = resultSet["name"]; var columns = resultSet["columns"]; var rows = resultSet["rows"]; drawTable(columns, rows, name); } } } function drawTable(columns, rows, name) { var resultDiv = document.getElementById('tContent'); resultDiv.innerHTML = ''; resultDiv.innerHTML = name + ' ' + columns + ' ' + rows; } var remoteSheetSizes = new SheetSizes(sheetSizesCallback);//(sheetSizesCallback); </script> <input name="load" type="button" value="Load" onclick="buildSheet()" /> chciałbym żeby ktoś mi wytłumaczył dlaczego interfejs obiektowy mysqli nie działa poprawnie, a proceduralny mysql jak najbardziej tak. Czy to jakiś bug HTML_AJAX, czy może np popełniam błąd nawiązują w ten sposób połączenie wewnątrz klasy , która de facto jest potem przez ta bibliotekę odwzorowywana na obiekty JavaScriptu. Pozdrawiam. Ten post edytował unseen 3.12.2006, 02:20:36 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 15:31 |