Prima di passare al codice necessario per l'autenticazione, verrà creata una piccola funzione personalizzata per l'estrazione dei dati dalla tabella deputata, essa si baserà su una specifica funzione nativa che PHP mette a disposizione per questo scopo. In realtà il linguaggio fornisce più soluzioni per la stessa procedura:
mysql_fetch_row() precedentemente descritta; mysql_fetch_array(), oltre ad archiviare i risultati di un'interrogazione all'interno di un vettore dotato di indice numerico, li associa a degli indici associativi utilizzando i nomi dei campi quali chiavi; nel caso in cui due o più colonne di uno specifico risultato presentino gli stessi nomi per i campi, avrà la precedenza l'ultima colonna coinvolta dalla query.mysql_fetch_assoc() equivale ad una chiamata per mysql_fetch_array() introducendo MYSQL_ASSOC come secondo parametro dove il primo è l'interrogazione al DBMS passata a mysql_query(). La funzione ha unicamente il compito di restituire un array associativo, quindi, quando è necessario avvalersi di un indice numerico invece che di quello associativo, è necessario utilizzare mysql_fetch_array(); nel caso in cui due o più colonne di uno specifico risultato presentino gli stessi nomi per i campi, avrà la precedenza l'ultima colonna coinvolta dalla query.mysql_fetch_array(), ma in questo caso viene restituito in output un oggetto e non un vettore; quindi, mysql_fetch_object() permette l'accesso ai dati tramite i nomi dei campi e non utilizzando il loro indice, in quanto i numeri non sono accettabili come nomi per le proprietà.Tutte le funzioni elencate accettano come parametro una query di selezione passata alla funzione mysql_query() e potranno essere scelte dall'utilizzatore sulla base delle necessità dell'applicazione corrente; una query di selezione si basa sul comando Sql SELECT a cui devono seguire i nomi dei campi coinvolti nell'estrazione separati da una virgola, o in alternativa il carattere jolly asterisco (*) che indica tutti i campi presenti nella tabella il cui nome è introdotto dalla clausola FROM; una query SELECT può coinvolgere tutti i record presenti in una tabella così come soltanto alcuni o uno solo di essi sulla base di una specifica condizione, questa condizione può essere per esempio un valore relativo ad un campo.
Nel caso del piccolo blog engine descritto in questa trattazione verrà utilizzata mysql_fetch_object() all'interno di una funzione personalizzata chiamata estrai() interna alla classe MysqlClass;
// funzione per l'estrazione dei record
public function estrai($risultato)
{
if(isset($this->attiva))
{
$r = mysql_fetch_object($risultato);
return $r;
}else{
return false;
}
}
Anche in questo caso la funzione controlla innanzitutto che esista una connessione attiva a MySQL, se questa è presente, il risultato della query SELECT passata alla funzione mysql_query() sarà utilizzato come argomento per mysql_fetch_object() producendo il valore di ritorno; se invece non dovesse essere attiva alcuna connessione, la funzione si limiterà a restituire FALSE.
Sessioni PHP: cosa sono, come si usanoDalla configurazione di PHP, alla gestione delle sessioni in un... |
Continuous Integration: automatizziamo i client con PhingContinuous Integration: automatizziamo i client con Phing. Esempi... |
Archiviazione delle applicazioni PHP con PharCome incorporare intere applicazioni PHP all'interno di un singolo... |
I traits in PHP 5.4Cosa sono, a cosa servono e come si unsano i traits, la novità per... |
PHP 5.4: il web server integratoImpara ad usare il web server integrato nella versione 5.4 di PHP:... |
Guida Yii FrameworkCome creare applicazioni Web in modo semplice e veloce con il... |
Guida Applicazioni Facebook con PHPCome realizzare un'applicazione per Facebook. Dalle basi della... |
Guida PHP con Windows e IISInstallare ambienti per lo sviluppo e la produzione di applicazioni... |
Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.
Iscriviti alla newsletter
|
|
Corso PHP per Webmaster11 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |