Salve a tutti,
riesco ad includere la connessione nella pagine web php ma non nelle classi php.
nelle pagine web faccio require_once("DB.connect.php"); ed è tutto ok.
invece nelle classi non riesco...
Salve a tutti,
riesco ad includere la connessione nella pagine web php ma non nelle classi php.
nelle pagine web faccio require_once("DB.connect.php"); ed è tutto ok.
invece nelle classi non riesco...
Una cosa fatta per fare...
codice:<?php class cDBMySQL{ private static $conn=null; public function __construct($dbname,$server,$username,$password) { if(is_null(self::$conn)) self::$conn= mysql_connect($server, $username, $password); mysql_select_db($dbname); } public function Query($sql) { return mysql_query($sql, self::$conn); } } class strana{ private $db; public function __construct() { $this->db=new cDBMySQL("nomedb", "serverDB", "userdb", "passworddb"); $this->db->Query("altra query in classe"); } } class strana2{ private $db; public function __construct($db) { $this->db=$db; $db->Query("altra query"); } } $conn1=new cDBMySQL($dbname,$server, $username, $password); $res1=$conn1->Query("select * from tabella1"); $conn2=new cDBMySQL($dbname,$server, $username, $password); $res2=$conn2->Query("select * from tabella2"); $st2=new strana2($conn1); ?>
no io dicevo che siccome ho la connessione in un file php che includo dove mi serve connettermi al db, nelle classi php non riuscivo a vedere la variabile di connessione. ho risolto passandola nel costruttore. ciaooooooo
Hai anche un'altra possibilità, se la tua varaibile di connessione è globale allo script in esecuzione, senza passarla nel costruttore puoi dichiararla nella funzione dellea classe che ne fa uso con global
es.
codice:$pippo=100 class classe{ public function unafunz(){ global $pippo; //ora posso usare pippo che è uguale a 100 $pippo=50; //ora la pippo di fuori vale 50 } }