Ciao a tutti,
ho trovato in giro per il web, una classe che gestisce php, ed essendo essa molto semplice e quindi completamente modificabile ho deciso di provarla, ve la posto senza problemi
Codice PHP:
class DBO {
/**************************************************
* variabili per connessione al db
**************************************************/
private $dbName = "cartolerianoceto";
private $dbHost = "localhost";
private $dbUser = "cartolerianoceto";
private $dbPassword = "xxxxxxx";
private $dbConnection;
private $dbSelect;
private $dbResult;
private $attiva = false;
private $msgErr = array();
/**
* **************************************************
*
* @param string $sql
* @return $command
*/
private function tipoQuery($sql) {
$l = strpos(trim($sql), " ");
$command = substr($sql,0,$l);
return strtoupper($command);
}
public function connetti() {
if(!$this->attiva) {
$connessione = mysql_connect($this->dbHost,$this->dbUser,$this->dbPassword);
if (!$connessione) array_push($msgErr,'[b]Impossibile connettersi[/b]: '.mysql_error());
else {
$this->dbConnection = $connessione;
$this->dbSelect = mysql_select_db($this->dbName, $this->dbConnection);
if (!$this->dbSelect) array_push($msgErr,'[b]Impossibile usare[/b] '.$this->dbName.' : ' . mysql_error());
return true;
}
} else
if(count($msgErr)>0) return $msgErr;
}
public function disconnetti() {
if($this->attiva)
if(mysql_close($this->dbConnection)) {
$this->attiva = false;
return true;
} else return false;
}
//funzione per l'esecuzione delle query
public function query($sql) {
if(isset($this->attiva)) {
if ( ($val = $this->tipoQuery($sql)) == "SELECT")
$this->dbResult = mysql_query($sql) or die (mysql_error());
else {
mysql_query("BEGIN");
$this->dbResult = mysql_query($sql);
if(!$this->dbResult) {
mysql_query("ROLLBACK");
die (mysql_error());
} else mysql_query("COMMIT");
}
return $this->dbResult;
} else return false;
}
//Estrai i dati
public function estrai($result, $limit=0) {
$array = array();
$r = array();
if ( isset( $this->attiva ) ) {
while ( $rows = mysql_fetch_assoc($result) )
array_push($array,$rows);
return $array;
if ( $limit == 1) {
foreach ( $array as $key => $value )
$r[$key] = $value;
return $r[0];
} else return $array;
}
}
public function conta($r){
return mysql_num_rows($r);
}
}
Adesso il mio problema, dopo avere incluso la classe nella mia pagina, ho eseguito una stupidissima query con il seguente codice
Codice PHP:
include('../lib/class.db.php');
$db = new DBO;
if ($db->connetti()===true){
$sql_all="SELECT * FROM images WHERE 1";
$result = $db->estrai($db->query($sql_all));
if (count($result)>0){
foreach($result as $v)
echo "[*]".$v['thumb'].$v['image']."";
} else echo "[*]Nessuna immagine disponibile";
$db->disconnetti();
}
Ma nonostante io esegua correttamente la query, essa mi ritorna una sola riga invece di due
Ringrazio tutti in anticipo