Ciao!
E' da qualche anno che non programmo più in PHP, e ora che dovrei ricominciare stavo prendendo un vecchio file dove c'erano delle classi che avevo fatto io, dove era tutto scritto per poter dialogare con un DB in SQL.
Ora però, appena metto l'include a questo file, mi stampa tutto il contenuto a video invece di caricare la classe, a partire dal " -> ".
Questo è il file:
Codice PHP:
<?
class connessione
{
function connect($db, $host="localhost",$user="root",$pass="")
{
$conn=mysql_connect($host,$user,$pass);
mysql_select_db($db);
return $conn;
}
function disconnect($conn)
{
mysql_close($conn);
}
}
class prodotti
{
var $ID;
var $nome;
var $descrizione;
function prodotti($ID)
{
if (isset($ID))
$this->dbGetOne($ID);
}
function findName($nome)
{
$ret=array();
$conn= connessione::connect("prods");
$risultato=mysql_query("select * from prodotti where nome='".$nome."'");
while($linea=mysql_fetch_array($risultato,MYSQL_ASSOC))
$ret[]=$linea;
connessione::disconnect($conn);
return $ret;
}
function findId($id)
{
$ret=array();
$conn= connessione::connect("prods");
$risultato=mysql_query("select * from prodotti where id=".$id);
while($linea=mysql_fetch_array($risultato,MYSQL_ASSOC))
$ret[]=$linea;
connessione::disconnect($conn);
return $ret;
}
function dbGetOne($ID)
{
$conn= connessione::connect("prods");
$result=mysql_query("select * from prodotti where ID=".$ID);
if($row=mysql_fetch_array($result, MYSQL_ASSOC))
{
$this->setID ($row['ID']);
$this->setnome ($row['nome']);
$this->setDescrizione ($row['descrizione']);
}
connessione::disconnect($conn);
}
function dbGetAll()
{
$ret=array();
$conn= connessione::connect("prods");
$risultato=mysql_query("select * from prodotti order by id");
while($linea=mysql_fetch_array($risultato,MYSQL_ASSOC))
$ret[]=$linea;
connessione::disconnect($conn);
return $ret;
}
function dbDelete($id)
{
$ret=array();
$conn= connessione::connect("prods");
$risultato=mysql_query("DELETE from prodotti WHERE ID=".$id);
connessione::disconnect($conn);
}
function dbAdd()
{
$conn= connessione::connect("prods");
$risultato=mysql_query("select MAX(ID) as ID from prodotti");
if($linea=mysql_fetch_array($risultato,MYSQL_ASSOC))
$nextID=$linea['ID'] + 1;
$qry = "INSERT INTO prodotti(ID, nome, descrizione) VALUES (".$nextID.", '".$this->getNome()."', '".$this->getDescrizione()."')";
$risultato=mysql_query($qry);
connessione::disconnect($conn);
return $nextID;
}
function dbUpdate($id=null)
{
if(!isset($id))
$id = $this->getID();
$conn= connessione::connect("prods");
$qry = "UPDATE prodotti SET nome='".$this->getNome()."', descrizione='".$this->getDescrizione()."' WHERE ID=".$id;
$risultato=mysql_query($qry);
connessione::disconnect($conn);
}
function getID()
{
return $this->ID;
}
function setID($ID)
{
$this->ID=$ID;
}
function getnome()
{
return $this->nome;
}
function setnome($nome)
{
$this->nome=$nome;
}
function getDescrizione()
{
return $this->descrizione;
}
function setDescrizione($descrizione)
{
$this->descrizione=$descrizione;
}
}
?>
Da "$this->dbGetOne($ID);" mi inizia a stampare tutto a video.
E' cambiato qualcosa con le nuove versioni di PHP? Perchè dal "->" in poi non mi compila più niente?
Grazie!