mam kilka pytan do nastepujacego kodu:
Kod
class SQLi
{
public $polaczenie;
public function __construct($host,$user, $passwd, $base)
{
if (!$this->polaczenie=new mysqli($host,$user, $passwd))
echo "error: ".$this->polaczenie->connect_errno;
}
}
{
public $polaczenie;
public function __construct($host,$user, $passwd, $base)
{
if (!$this->polaczenie=new mysqli($host,$user, $passwd))
echo "error: ".$this->polaczenie->connect_errno;
}
}
teraz dziwi mnie to ze wykrzyknik "!" przed $this->polaczenie nie dziala jak zaprzeczenie. Kod w klamrach if'u wykonuje sie dopiero po usunięciu wykrzyknika. Drugie pytanie: Testujac tą klasy specjalnie podawalem bledne hasla i wtedy argument $polaczenie nie przyjmowal wartosci klasy mysqli, co prowadzilo do tego ze $this->polaczenie->connect_errno dawalo blad. Czy jesli przekazemy klasie mysqli bledne dane to nie zostanie utworzony jej obiekt z numerem bledu i jego trescia?
ok znalazlem takie rozwiazanie, ze trzeba uzyc mysql_connect_errno. Ale skoro mysqli zawsze tworzy obiekt, bez wzgledu na bledy, to dlaczego polecenie $this->polaczenie->connect_errno wywala bledy?