![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zablokowani Postów: 16 Pomógł: 0 Dołączył: 20.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich Forumowiczy
![]() Jakiś czas temu napisałem sobie klasę do obsługi PDO. Wszystko pięknie działało na XAMPPie, ale po reinstalacji Windowsa i zainstalowaniu nieco nowszej wersji XAMPPa nagle zaczęły się dziać jaja. Wszystko działa dobrze (tzn. pozostale funkcje w tej klasie, np. insert, delete, itp) oprócz funkcji query, która wygląda następująco: Kod public function query($query) { $data = array(); try { $result = $this->dbhandle->prepare($query); $result->execute(); $data = $result->fetchAll(); print_r($query . '<br/>' . $data); //miejsce nr 1 $result->closeCursor(); unset($result); } catch(PDOException $e) { echo "Błąd PDOException w funkcji query - ".$e->getMessage(). "<br/>"; die(); } return $this->strip_slashes($data); } w miejscu nr jeden wstawiłem sobie print_r aby mi wyświetlało co i jak. Gdy załaduje to na dreamhost.com, to pokazuje mi, że $data jest Array, ale tylko to. Natomiast gdy odpalę to u siebie na kompie, to mam błąd Przerwane połączenie. Połączenie z serwerem zostało zresetowane podczas wczytywania strony. Połączenie sieciowe zostało przerwane podczas negocjacji. Spróbuj ponownie. Moje spostrzeżenie jest takie, że coś tu zawsze było nie tak, po dopiero ostatnio sprawdziłem to na dreamhoscie, chyba że oni też robili reinstalke ;p Dodam, że tej funkcji używam tylko do zapytania SELECT. Pozdrawiam i błagam o ratunek! Po dłuższej analizie sprawdziłem, że przy pobieraniu jednej kolumny z tabeli, np. SELECT name FROM users wszystko dziala dobrze. Ale, przy zapytaniu typu SELECT name,id FROM users lub np. SELECT * FROM users program się wysypuje ![]() ktoś się spotkał z czymś takim? Ten post edytował pks 20.03.2009, 20:01:24 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Jeśli nie korzystasz z podpinania użyj funkcji query, a nie prepare->execute.
Podobny błąd dostawałem przy testach mojego skryptu, tyle że on nawet nie łączył się w tym momencie z bazą, ale miał parę print_r'ów, próbowałeś bez print_r? To chyba nie jest poprawne użycie tej funkcji? Nie powinno się łączyć stringa z tablicą. |
|
|
![]()
Post
#3
|
|
Grupa: Zablokowani Postów: 16 Pomógł: 0 Dołączył: 20.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
niby w manualu piszą, że jak dużo zapytań to prepare-execute jest szybsze
![]() ![]() print_r tez usunąlem i bez zmian. Jak tylko jedną kolumnę wybieram to ok, a jak więcej jak jedną to nawet mi strony nie wyswietla tylko pokazuje 'nie mozna wyswietlic strony' po próbie przekierowania na localhost.com ![]() pustka w głowie, kombinuje już tydzień i nic... Myslalem, ze moze klasę popsulem, albo cos, ale nawet jak robię plik taki jak ponizej to nie dziala... ![]() Kod <?php $dbhandle; $dbhandle = new PDO("mysql:host=localhost;dbname=phpmyadmin", 'root', ''); $dbhandle->setAttribute(PDO::ATTR_PERSISTENT, true); $dbhandle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $query = "SELECT * FROM `pma_history`"; $result = $dbhandle->prepare($query); $result->execute(); $data = $result->fetchAll(); print_r($data); $result->closeCursor(); unset($result); ?> Ten post edytował pks 22.03.2009, 21:02:19 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 21:48 |