Aktywne Wpisy

Docent_Jan_Mula +86
Taki obraz wasz wykopki xD
Wystarczyły dwie tragiczne kadencje, żeby ktoś odpowiedzialny za dwie średnie kadencje uchodził za zbawcę narodu xD #polityka #tusk #bekazlewactwa
Wystarczyły dwie tragiczne kadencje, żeby ktoś odpowiedzialny za dwie średnie kadencje uchodził za zbawcę narodu xD #polityka #tusk #bekazlewactwa

fhgd +609
Jeśli po 8 latach pisowska prokuratura nie postawiła Tuskowi żadnych zarzutów prowadzących do skazania, a telewizja rządowa jedyne co ma na Donalda to archiwalne nagrania z Putinem, manipulacje i kreatywna praca kamerą, to według mnie jest to człowiek godny zaufania
#bekazpisu #wybory #przemysleniazdupy #polityka
#bekazpisu #wybory #przemysleniazdupy #polityka





class DB{
logfunction db_connect(){
$mysql_host = 'hosy';
$username = 'lol';
$password = 'lol';
$database = lol'';
//to tylko przykładowe, bo już byście hackowali :p
try{
$pdo = new PDO('mysql:host='.$mysql_host.';dbname='.$database.';', $username, $password );
}catch(PDOException $e){
echo 'Połączenie nie mogło zostać utworzone.
';
}
}
};
class Logs{
//log
function log_login($user,$dateNow,$action,$actionResult) {
$db = new DB();
$db->db_connect();
//data i czas teraz
$dateNow = date('Y-m-d H:i:s');
$log = $pdo->prepare("INSERT INTO
(userlog,datalog,actionlog,title_log) VALUES (?, ?, ?, ?)");
$log->bindValue(1,$user);
$log->bindValue(2,$dateNow);
$log->bindValue(3,$action);
$log->bindValue(4,$actionResult);
$log->execute();
}
};
mam coś takiego, ale wywala mi Call to a member function prepare() on a non-object in
co robię źle? Jak wywołać klasę w innej klasie? Można tak?
#php #webdev
ogólnie trochę źle to wygląda (wszystko w jednej metodzie w DB) i brak jakiegoś pomocnika typu metoda query (dla DB oczywiście) która by sprawdzała połączenie i robiła resztę roboty. innymi słowy: nie korzystasz z możliwości obiektowości. sam miałem tę
$log = $pdo->prepare()nie masz dostępu do zmiennej $pdo ($pdo jest dostępna tylko w funkcjiDB::db_connect. Najprościej zrobić to tak:1) Zmień
$pdo = new PDO(...)na$this->pdo = new PDO(...)2) Zmień linię
$log = $db->pdo->prepare()3) Zalecam - w klasie DB dodaj zmienną
public $pdo;oraz określaj widoczność funkcji i zmiennych (php5)tu tak na szybko wklejam kod. ofkoz dało by się go podtuningować (odpowiednie rzucanie wyjątków, właściwy odczyt błędów, metodę do zapytań żeby nie bindować tego w innej klasie tylko przekazać tablicę, metody statyczne żeby nie trzeba było tworzyć obiektu itd), ale zaraz do domu lece i nie mam tyle czasu.
class DB{
private $mysqlhost = 'hosy';
private $username = 'lol';
private $password = 'lol';
private $database = lol'';
private