Autor Zpráva
Nevim si rady
Profil *
Ahojte,
už pár dní řeším následující problém a nemůžu ho úspěšně vyřešit. Mám tento soubor:
Connect.php
<?php
class Connect
{
    private $host = 'localhost';
    private $dbname = 'nove';
    private $username = 'root';
    private $password = '';
    
    public $con = '';
    
    function __construct() {
        $this->connect();
    }
    
    function connect()
    {
        try
        {
          $this->con = new PDO("mysql:host=$this->host;dbname=$this->dbname", $this->username, $this->password );
          $this->con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        }
        catch(PDOException $e)
        {
            echo 'We\'re sorry but there was an error.';
        }
    }
}
?>

a teď bych se k tomu připojení chtěl připojit z jiného souboru, takže mám třeba soubor
Pokus.php
a v konstuktoru bych se chtěl asi připojit, ale jak? Pořád to zkouším nějak tak, ale to nefunguje
$this->con = new Connect();
$this->con->prepare("SLECT * FROM kategorie");

Poradí někdo prosím?


Samozřejmě jsem zapomněl dodat, že na začáku souboru Pokus.php mám:
include_once("Connect.php");
Nevim si rady
Profil *
To tu opravdu nikdo neví? :(
Alphard
Profil
Zde uvedená třída Connect nemá metodu prepare(), takže ji nemůžete tak jednoduše volat. Musel byste se odkazovat na proměnnou $con a ne na instanci třídy samotné. Nejjednodušeji navrhnout Connect jako singleton a pak si volat přímo metodu getConnection(), nebo tak něco.
Nyní je moderní DI, ale tak daleko asi jít nechcete.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: