PHP e i database Relazionali di MYSQL
- On Marzo 29, 2013
- By Fabrizio S.
- In Guide Linguaggi di Programmazione
- No comments
Classifica Articoli e Pagine
Privacy e cookie: Questo sito utilizza cookie. Continuando a utilizzare questo sito web, si accetta l’utilizzo dei cookie.
Per ulteriori informazioni, anche su controllo dei cookie, leggi qui: Informativa sui cookie
Per ulteriori informazioni, anche su controllo dei cookie, leggi qui: Informativa sui cookie
Analisi SEO
Geo IP Site
Htaccess
- Redirec Nuova Directory vecchia directory
- Redirect Vecchio Url nuovo url
- Redirect Nuovo Dominio Vecchio Dominio
Guida su Aspnet
Guida al linguaggio di programmazione Aspnet
Lezione 1. Introduzione ad Aspnet
Lezione 2. Il Tool di Amministrazione di Aspnet
Lezione 5. Microsoft Sql Server
Lezione 6. Interfaccia Aspnet e dataset MS Sql
Lezione 7. I Fogli di Stile CSS
Lezione 9. I Dataset e i Datareader
Lezione 10. Eventi di Pagina Asnet
Lezione 13. Validazione Aspnet
Tipi di articoli
Categorie
Categorie
Tag
Anno
Articoli Recenti
- Problema Collegamento HP Smart Stampante Offline Canon Office Jet 8830 Risolto
- Ubuntu Desktop o Server quale versione Linux utilizzare?
- PHP differenze mysqli_fetch_row mysqli_fetch_assoc mysqli_fetch_array
- Problema scanner Canon mp495 Code internal error occurred Scanner driver will be closed 5,202,54 risolto
- Condominio senza Amministratore obbligo di Codice fiscale e adempimenti fiscali.
Materiale Didattico Metodi Matematici per l’Ingegneria
Guida al linguaggi di programmazione PHP
La nostra Guida al linguaggio di programmazione PHP
Lezione 1 Guida introduttiva al linguaggio PHP
Lezione 2 Introduzione ai tipi di dato PHP
Lezione 3. I Cicli Iterativi
Lezione 4. Le funzioni
Lezione 5 Gli Array
Lezione 6. La programmazione a Oggetti
Lezione 7. La programmazione a Oggetti Parte 2
Lezione 8. Il Database Mysql
Lezione 9. Interazione con HTML
Lezione 10 I Cookie Session
Lezione 11 Composer Gestore delle Dipendenze
Lezione 12 Parser Feed XML
Lezione 13. Esistenza Url
Lezione 14. Esistenza Dominio
Lezione 15. Invio Email
Lezione 16. I Namespace
Lezione 17. I Traits
Lezione 18. La Cache
Lezione 19. Architetuttra Rest Api
Lezione 20. Soap WSDL
Lezione 20 BIS. SOAP WSDL ZEND Framework
Lezioni 21. Cloud Computing
Lezioni 22. Sicurezza
Lezione 23. Codice di errore Offset comuni
Guida Linguaggio di programmazione Aspnet
Guida al linguaggio di programmazione Aspnet
Lezione 1. Introduzione ad Aspnet
Lezione 2. Il Tool di Amministrazione di Aspnet
Lezione 3. Pagine Master
Lezione 4. Visual Earth
Lezione 5. Microsoft Sql Server
Lezione 6. Interfaccia Aspnet e dataset MS Sql
Lezione 7. I Fogli di Stile CSS
Lezione 8. I Mashup
Lezione 9. I Dataset e i Datareader
Lezione 10. Eventi di Pagina Asnet
Lezione 11. Il DataBinding
Lezione 12. Linq
Lezione 13. Validazione Aspnet
Guida linguaggio di programmazione Ajax
In queste pagina la nostra guida al linguaggio di programmazione Ajax
Lezione 1 Introduzione ad Ajax
Lezione 2 L'oggetto XMLHTTPREQUEST
Lezione 3 la Shoutbox
Guida Agli Action Script
E questa è la nostra Guida Sugli ActionScript con un esempio finale realizzato in Flash
Lezione 1 Introduzione agli Action Script
Lezione 2. Opetatori, funzioni , cicli iterativi
Lezione 3 Variabili Comportamenti. Esempio Sito Web
Tipi di articoli
Categorie
Categorie
Tag
Anno
Legge sui Cookies
Utilizziamo i cookie sul nostro sito Web per offrirti l'esperienza più pertinente ricordando le tue preferenze e ripetendo le visite. Cliccando su "Accetta" acconsenti all'uso di TUTTI i cookie. Puoi visionare la nostra politica sui Cookie alla Pagina sulla Cookie Policy . Nella pagina potrai trovare tutti i cookie che il sito utilizza e il trattamento che viene effettuato sui cookie stessi , sul sito dove vengono immagazzinati e sul trattamento a cui sono sottoposti.Per ogni dubbio o approfondimento ti invitiamo a contattarci grazie al nostro modulo di contatto
Privacy & Cookies Policy
Privacy
Questo sito Web utilizza i cookie per migliorare la tua esperienza durante la navigazione nel sito Web. Di questi cookie, i cookie classificati come necessari vengono memorizzati nel browser in quanto sono essenziali per il funzionamento delle funzionalità di base del sito Web. Utilizziamo anche cookie di terze parti che ci aiutano ad analizzare e capire come utilizzi questo sito web. Questi cookie verranno memorizzati nel tuo browser solo con il tuo consenso. Hai anche la possibilità di disattivare questi cookie. Ma la disattivazione di alcuni di questi cookie potrebbe avere un effetto sulla tua esperienza di navigazione.
I cookie necessari sono assolutamente essenziali per il corretto funzionamento del sito web. Questa categoria include solo i cookie che garantiscono funzionalità di base e caratteristiche di sicurezza del sito web. Questi cookie non memorizzano alcuna informazione personale.
Tutti i cookie che potrebbero non essere particolarmente necessari per il funzionamento del sito Web e vengono utilizzati specificamente per raccogliere dati personali dell\'utente tramite analisi, pubblicità, altri contenuti incorporati sono definiti come cookie non necessari. È obbligatorio ottenere il consenso dell\'utente prima di eseguire questi cookie sul tuo sito web.
%d blogger hanno fatto clic su Mi Piace per questo:
Fabrizio S.
Share post:
PHP e i database Relazionali di MYSQL
SI parla da molti anni anni dei database relazionali, ma di preciso cosa è ? Di cosa si tratta? Ebbene nonostante tutto ad oggi non esiste una definizione standard o una esaustiva dei Data Base Relazionali. Di sicuro un database non puo’ essere definito relazione solamente perché al suo interno presenta delle tabelle. Se visto da un matematico un database Relazionale è un insieme formato da elementi che sono distinti fra loro, dove ciascun elemento rappresenta un n-ulpa dove ciascuna delle n componenti dell’elemento è presa da un determinato dominio., questo da un punto di vista matematico che poi ovviamente andrebbe rivisto in chiave database.
Diciamo che un database relazionale, detto in maniera molto grossolana, è un insieme di Script, nel nostro caso PHP, che permette di collegare insieme tabelle di un database con relazioni di tipo molti a uno, uno a molti e molti a molti.
Ci rendiamo conto che al momento è ancora una dichiarazione un po’ fumosa, ma vedremo passo passo come sia relativamente semplice il tutto.
Cominciamo adesso a porci la domanda fondamentale perché creare un database relazionale, molto semplicemente perché se accumolassismo tutti i dati all’interno di un solo Database andremo incontro a due problemi fondamentali. Il primo di avere dei Database di proporzioni sconfinate e quindi un inutile accumolo di memorai persa. Con i relazionali non c’e’ bisogno ad esempio di ripetere gli stessi dati, pensate a un’agenda con vari indirizzi email, per ogni indirizzo email saremmo costretti a scrivere un nuovo record mentre con i relazionali tutto questo viene fatto con l’utilizzo di indici. Inoltre se non li utilizzassimo avremmo bisogno possibilmente di scrivere degli script dopo che abbiamo effettuato le nostre query per prelevare i dati che ci interessano.
Ricorriamo per spiegarveli nel migliore dei modi a degli esempi che per primo ha introdotto Kevin Yank che poi è il grande padre putativo del PHP e che ha spiegato al meglio in un suo libro in inglese il funzionamento dei Database Relazionali.
Quindi ipotizziamo di avere due database uno lo chiamiamo Joke ossia barzellette e l’altro lo chiamiamo author ossia autori. Fatti nel seguente modo
Come potete vedere dall’area del grafico abbiamo creato una corrispondenza diretta fra l’id degli autori authorid e il campo id del database autore.
Se ci trovassimo in queste condizioni , senza la possibilità di utilizzare i database relazionali ci troveremo nella sgradita situazione di dovere fare due query la prima per il database Joke , la seconda per il database author e dopo aggiungere del codice in modo da fare con php una join. Guardate invece come sia molto piu’ semplice con questo semplice script
$jokelist = @mysql_query (‘SELECT joketext, name, email
FROM joke, author WHERE authorid=author.id’);
if (!$jokelist) {
echo ‘<br> sopraggiunto errore <br>’.mysql_error();
}
while ($row = mysql_fetch_array($jokelist)) {
$joketext= $joke[‘joketext’];
$name=$joke[‘name’];
$email = $joke[‘email’];
}
Ora che abbiamo un attimo in mente che cosa sono I database relazionali vediamo di capire meglio le relazioni che possono interecorrere. Partiamo dalle relazioni uno a uno, ossia quelle fatte con una singola tabella prima che utilizzassimo i db relazionali. Prendiamo adesso in esame quelle che sono invece le relazioni uno a molti ossia ad un elemento di una tabella potrebbero corrispondere molti elementi di altre tabelle. Voi non lo sapete ma se ci pensate un attimo lo avrete già rivisto, ossia si tratta del precedente esempio grafico. Cerchiamo osa di capire come sia possibile estrarre l’email di Kevin Jank nel seguente modo
SELECT email FROM author, email WHERE
Name=”Kevin Yank” AND authored=author.id;
E visualizzeremo il valore kevin@sitepoint.com , vi facciamo pero’ anche notare che Kevin potrebbe avere anche alter email è questo il vero punto di forza dei relazionali, ossia con questa semplice query potrete visualizzare tutti I relazionali in questione.
E queste sono le relazioni uno a molti, in modo analogo ma al contrario sono le relazioni molti a uno. Le vedremo anche loro ma le vedremo all’interno delle relazioni molti a molti. Partiamo da un esempio pratico per capire meglio di cosa si tratti.
Importante quando si lavora con i database redazionali creare il doppio indice primario ossia
In questo caso devono essere primary key in quanto una insieme all’altra devono fornire valori univoci.
Facciamo adesso qualche caso specifico. La seguente Query di ricerca esplicita tutte le barzellette che appartentono alla categoria Knock knock.
SELECT joletext
FROM joke, category, jokecategory
WHERE name= “Knock-knock” AND jokeid=joke.id;
Mentre la query seguente mostra un elenco delle categorie che contengono barzellette che iniziano con how many lawyers
SELECT name
FROM joke, category, jokecategory
WHERE joketext LIKE “How many lawyers%”
AND categoryid = category.id AND jokeid= joke.id;
HTMLSPECIALCHARS E MAGIC QUOTE
Fra che ci siamo vi parliamo anche di queste due funzioni che sono molto utili quando abbiamo a che fare con I dati che vengono inseriti nei database e che sono appunto htmlspecialchars e magicquote.. La prima ossia htmlspecialchars converte i caratteri speciali di HTML come <,> e le virgolette, nei loro codici corrispettivi di carattere. Considerate il seguente esempio.
$testo = htmlspecialchars(‘<HTML> can be dangerous’ );
echo $testo //output :<HTML> ca be dangerous!
Questa funzione è particolarmente utilizzata quando vengono prelevati dei dati dal database che poi vengono mandate a video.,
Molto interessante è anche la funzione magic quote che si inquadra in questo contesto. Prendiamo in considerazione il seguente esempio
INSERT INTO agenda SET
name =’d’agostino’;
Ovviamente la presenza in contemporanea dell’apice davanti ad agostino comprta che il php non è in grado di eseguire la query. Per ovviamente a questo problema si inserisce l’addslashes che consente di fare interpretare al compilatore correttamente il codice. Insomma legge come se quell’apice fosse un apice del linguaggio e non un simbolo.
INSERT INTO agenda SET
name =’d\’agostino’;
generalmente nei server moderni questa opzione è già attiva di default , ma talune volte viene disattivata per svariati motivi, per arrivarla di default in ogni modo non dovrete fare altro che andare nel vostro php.ini e settare magic quote ad On nel seguente modo
magic_quotes_gpc = On
Ed il gioco è fatto.
Condividi:
Mi piace:
Correlati