![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 15.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam! Zamierzam w celu treningu napisać mailbox orientowany obiektowo. Nie szukam skryptów, chcę się podjąć sam. Był już podobny temat i wg niego stworzyłem mw taką samą bazę danych. Mam jednak już na wstępie błąd, podejrzewam, że w funkcji, bo gdy ominę warunek WHERE w zapytaniu, wszystko leci dobrze. Proszę o pomoc i ewentualnie jakieś sugestie, za co mam się zabrać przy pisaniu ;]
Kod: Kod class DaneSQL {
public $host = "localhost"; public $user = "root"; public $database = "mailbox"; } $username = "qwerty"; class Mailbox { public $IDpoczta; public $temat; public $tresc; public $idprofil_nadawca; public $idprofil_odbiorca; public $przeczytane; public $status_nadawca; public $status_odbiorca; public $send_at; public $tekst = "Dane:<br/>TEMAT:<br/>OD:<br/>"; } $dane = new DaneSQL; $mailbox = new Mailbox; function mysql_read($object) { $link = mysql_connect($object->host, $object->user) or die(mysql_error()); mysql_select_db('userbase', $link) or die(mysql_error()); $query = "SELECT ID FROM users_passes WHERE login = '$username'" or die(mysql_error()); $query2 = mysql_query($query, $link) or die(mysql_error()); $result = mysql_fetch_object($query2) or die(mysql_error()); $r = $result->ID; $query = "SELECT temat FROM poczta WHERE idprofil_odbiorca = '$r'" or die(mysql_error()); $query2 = mysql_query($query, $link) or die(mysql_error()); $box = mysql_fetch_object($query2) or die(mysql_error()); return $box; } $mailbox = mysql_read($dane); echo "<br/><br/>"; echo $mailbox->temat; |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 18 Dołączył: 2.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
trochę się rozpędziłeś z tym die();... (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) a poza tym to skąd masz zmienną $username? nie przekazałeś jej do klasy... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 15.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
"a poza tym to skąd masz zmienną $username?"
Zdefiniowana zaraz za klasą DaneSQL, poza tym funkcja mysql_read() leży poza klasami. Usunąłem te die()... bez efektu. Kod WHERE login='".$username."' to także nie pomogło. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Zagnieźdź prawidłowo zmienne.
Nie analizuję dokładnie Twojego skryptu, wykonaj podstawowe operacje diagnostyczne, np.: Wrzuć echo przed każde $query i zobaczysz jak wygląda zapytanie wywoływane ostatecznie przez skrypt. Jeżeli wszystko będzie wyglądało w porządku to skopiuj je i spróbuj wykonać w np. phpmyadminie. Jeżeli wszystko ok to zrób print_r($result) żeby zobaczyć jakie wyniki otrzymujesz z bazy. Jeżeli do niczego nie dojdziesz to będziesz miał przynajmniej więcej konkretów żeby nas spytać. Np. napisz jaki błąd generuje zapytanie z WHERE. Jeżeli nie ma błędu to może nie masz w bazie rekordów spełniających kryteria. Ten post edytował Foxx 18.02.2009, 17:47:48 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 15.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jak zwykle była bzdura ^^ ;]
$username była przecież traktowana jako lokalna zmienna funkcji ;] Dzięki wszystkim za pomoc, a także o to, by nie zamykać tematu, bo jeszcze pewnie napiszę ;] |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Oprócz [code ] jest też inny bbcode, który pomaga pozostałym w analizie problemu. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 18:34 |