Czytaj ze zrozumieniem.
Funkcja zaloguuj() potrzebuje argumentu $polaczenie, żeby móc go używać jako swoją zmienną.
Jak przekazujemy argumenty do funkcji?
Ano tak:
funkcja($argument1, $argument1, ... , $argument_n)
Wtedy zmienne $argument1 i kolejne mogą być używane w f-cji i tylko tam (to się nazywa zasięg zmiennej - w tym przypadku zasięg dotyczy tylko funkcji).
Łączymy nową wiedzę w całość:
Skoro w f-cji zaloguj() wykorzystujesz uchwyt do połączenia $polaczenie, f-cja musi jakoś ten uhwyt dostać. Więc przekazujemy go jako argument:
<?php
zaloguj($polaczenie) {
...
or
die($this->blad("Blad polaczenia z baza danych " . pg_last_error($polaczenie))); <-- TO JEST
463 LINIJKA
}
?>
I jeśli reszta jest OK, w linijce 463 błędu nie będzie.
Teraz popatrzmy, co Ty zrobiłeś i jaki to dało efekt.
Cytat
$db($polaczenie)
I dostaje to:
Fatal error: Function name must be a string in /var/www/test/index.php on line 462
$db($polaczenie) - zadziałałoby tylko wtedy, jeśli wcześniej zmiennej $db przypisałbyś nazwę jakiejś f-cj:
<?php
function jakas( $tekst ) {
}
$polaczenie = 'alamakota';
$db = 'jakas';
$db($polaczenie); -> wyswietli 'alamakota'
?>
Ale ta konstrukcja językowa nie ma teraz nic do rzeczy w temacie.
Teraz komunikat błędu:
Fatal error: Function name must be a string in /var/www/test/index.php
Jedziemy:
Fatal error: - błąd kompilacji, powodujący nie wykonanie skryptu.
Function name must be a string - bierzemy słowniczek i tłumaczymy:
nazwa funkcji musi być tekstem...
A u Ciebie jest czym ?
$db($polaczenie)
Odpowiedź: zmienną.
Podsumowanie:
- czytamy ze zrozumieniem komunikaty błędów
- czytamy dokumentację na php.net
- uczymy się podstaw, czyli: tworzenia funkcji, przekazywania do niej parametrów i korystania z nich w funkcjach