Utilizzo questa classe per connettermi a un DB
Ho fatto un pò di debugging e ho scoperto che quando arriva a function estrai in ogni caso, che la connessione sia aperta o no non esegue le istruzioni del if, ma quelle del else.codice:<?php class MysqlClass { //Variabile privata che serve da controllo sulle connessioni attive var $attiva = false; //Funzione per la connessione a MYSQL function connetti($nomehost, $user, $password, $db) { if(!$attiva) { if($connessione = mysql_connect($nomehost,$user,$password) or die (mysql_error())); { $selezione = mysql_select_db($db,$connessione) or die (mysql_error()); print("entro nel DB"); } }else{ return true; print("sono gia connesso"); } } function query($sql) { if(isset($attiva)) { $sql = mysql_quey($sql) or die (mysql_error()); print("fatta la query"); return $sql; }else{ return false; print("nn sono connesso al momento della query"); } } function estrai($risultato) { if(isset($attiva)) { $r = mysql_fetch_object($risultato); print("ottenuto il risultato"); return $r; }else{ return false; print("nn sono connesso al momento della estrazione"); } } //Funzione per disconnettersi function disconnetti() { if($attiva) { if(mysql_close()) { if(mysql_close()) { $attiva = false; return true; }else{ return false; } } } } } ?>
Quindi non mi estrae quello che mi serve.
La pagina con il quale richiamo questa classe è questa:
Ovviamente non riesco a visualizzare la tabella siccome non riesco ad estrarre.codice:<?php include "sqlFunction.php"; $host ='localhost'; //User e password sono identici, quindi inserisce una volta sola e io lo uso sia per la pasw che per l'user $user = $_REQUEST['password']; $password = $_REQUEST['password']; $database = 'my_asafarakaratara'; $data = new MysqlClass(); $data->connetti($host,$user,$password,$database); $stri="select * from log ORDER BY ora DESC"; $dbResult=$data->query($stri); echo "<table border=\"1\">\n"; while($res = $data->estrai($dbResult)){ echo"\t<tr>\n"; $mod=$res->moderatore; $ora=$res->ora; $mes=$res->messaggio; echo "\t\t<td>".$mod."</td>\n"; echo "\t\t<td>".$ora."</td>\n"; echo "\t\t<td>".$mes."</td>\n"; echo "\t</tr>\n"; } echo "</table>\n"; $data->disconnetti(); ?>
Potete aiutarmi?

Rispondi quotando