MySQL procedurale o MySQLi a oggetti?

Discussioni e problematiche sul linguaggio PHP

Moderatori: maurizio, markdesign

Regole del forum
Per scrivere del codice all'interno di ogni post, utilizzare il tag: [syntax=il_linguaggio]codice[/syntax] sostituendo "il_linguaggio" con il linguaggio del codice che dovete inserire, ad esempio: html, css, javascript, php, asp, ecc...

MySQL procedurale o MySQLi a oggetti?

Messaggioda Tizionario » sabato 18 giugno 2011, 15:12

Ciao a tutti,
è un dubbio che mi assale da qualche giorno: per quanto riguarda le operazioni con i database MySQL, è meglio continuare con l'approccio procedurale e le funzioni mysql (mysql_connect, mysql_query ecc) oppure utilizzare l'estensione mysqli ed utilizzare l'approccio ad oggetti?

Grazie a quanti mi risponderanno
Tizionario

Avatar utente
 
Messaggi: 101
Iscritto il: venerdì 3 dicembre 2010, 10:47
Località: Taranto

Re: MySQL procedurale o MySQLi a oggetti?

Messaggioda Giacomo » domenica 19 giugno 2011, 2:20

Teoricamente ti consiglierei di usare sempre MySQLi, che è una riscrittura migliorata delle funzioni mysql, dove la i sta per improved.
Giacomo

Moderatore

Avatar utente
 
Messaggi: 40
Iscritto il: domenica 6 febbraio 2011, 23:59

Re: MySQL procedurale o MySQLi a oggetti?

Messaggioda Paolob » domenica 19 giugno 2011, 11:20

Io suggerisco di adottare una qualche libreria che ti faccia lavorare ad oggetti oppure che ti renda indipendente (per quanto possibile) dal DB

In passato ho utilizzato adodb.
Qui ad esempio c'è un tutorial in italiano
Il tutto sempre discutibile...

Contao Italian Conference 2012 - Cervia, 26 maggio 2012
Paolob

Moderatore

Avatar utente
 
Messaggi: 117
Iscritto il: lunedì 13 giugno 2011, 14:57
Località: Cesena

Re: MySQL procedurale o MySQLi a oggetti?

Messaggioda Tizionario » domenica 19 giugno 2011, 16:52

Ho dato uno sguardo al tutorial di ADODB, molto interessante, devo approfondire un po' la cosa, grazie mille :)
Tizionario

Avatar utente
 
Messaggi: 101
Iscritto il: venerdì 3 dicembre 2010, 10:47
Località: Taranto

Re: MySQL procedurale o MySQLi a oggetti?

Messaggioda Paolob » domenica 19 giugno 2011, 16:59

Tizionario ha scritto:molto interessante


é una delle tante, se fai una ricerca magari vedi se è la migliore oppure no.

Il prossimo passo però è l'utilizzo di un framework in php 8-)
Il tutto sempre discutibile...

Contao Italian Conference 2012 - Cervia, 26 maggio 2012
Paolob

Moderatore

Avatar utente
 
Messaggi: 117
Iscritto il: lunedì 13 giugno 2011, 14:57
Località: Cesena

Re: MySQL procedurale o MySQLi a oggetti?

Messaggioda oly1982 » domenica 19 giugno 2011, 18:52

La mia è solo un'opinione... ma scusate tutti... con php 5 vi è nativamente la classe PDO:
http://php.net/manual/en/book.pdo.php

Per quale motivo bisogna utilizzare librerie esterne se nativamente ci viene fornito tutto ciò?
oly1982

Avatar utente
 
Messaggi: 15
Iscritto il: mercoledì 30 marzo 2011, 14:45
Località: Caserta - Benevento

Re: MySQL procedurale o MySQLi a oggetti?

Messaggioda maurizio » lunedì 20 giugno 2011, 22:41

Giacomo ha scritto:Teoricamente ti consiglierei di usare sempre MySQLi, che è una riscrittura migliorata delle funzioni mysql, dove la i sta per improved.


Mooooolto teoricamente Giacomo. MySQLi é un progetto arenato da anni e non lo utilizza quasi più nessuno. Diciamo che é come netscape :-)
maurizio

Moderatore

Avatar utente
 
Messaggi: 141
Iscritto il: domenica 2 maggio 2010, 22:38

Re: MySQL procedurale o MySQLi a oggetti?

Messaggioda maurizio » lunedì 20 giugno 2011, 22:50

Oh tizià, se proprio ti ci vuoi mettere PDO sembra interessante e poi c'é oly che é un patito e ti può dare delle dritte (non é la prima volta che cerca di venderlo, provala e facci sapere com'é)
maurizio

Moderatore

Avatar utente
 
Messaggi: 141
Iscritto il: domenica 2 maggio 2010, 22:38

Re: MySQL procedurale o MySQLi a oggetti?

Messaggioda Giacomo » martedì 21 giugno 2011, 0:25

maurizio ha scritto:
Giacomo ha scritto:Teoricamente ti consiglierei di usare sempre MySQLi, che è una riscrittura migliorata delle funzioni mysql, dove la i sta per improved.


Mooooolto teoricamente Giacomo. MySQLi é un progetto arenato da anni e non lo utilizza quasi più nessuno. Diciamo che é come netscape :-)


Beh, quando la scelta è tra Mysql e Mysqli diciamo che è caldamente consigliato l'utilizzo del secondo, mi pare che venga detto qualcosa a riguardo anche sulla documentazione ufficiale. Quando invece la scelta è più ampia il discorso cambia :)
Giacomo

Moderatore

Avatar utente
 
Messaggi: 40
Iscritto il: domenica 6 febbraio 2011, 23:59

Re: MySQL procedurale o MySQLi a oggetti?

Messaggioda oly1982 » martedì 21 giugno 2011, 11:39

maurizio ha scritto:Oh tizià, se proprio ti ci vuoi mettere PDO sembra interessante e poi c'é oly che é un patito e ti può dare delle dritte (non é la prima volta che cerca di venderlo, provala e facci sapere com'é)

:D Non lo sponsorizzo... anzi fino ad ora l'ho utilizzato pochissimo e solo per studiarlo e fare dei test!!

Partendo dal presupposto che non sono un professionista ma sono un amatore dico cosa penso.

I vantaggi rispetto a myslq_* che io ho riscontrato fino ad ora sono stati:
- lo switch fra i vari database: personalmente utilizzo sempre MySql ma ho fatto qualche test con sqlite... bhè se si vuol rendere i propri applicativi cross-database (si dice così?) PDO è inevitabile. Anzi (a voler dirla tutta) questa è l'unica cosa che mysql_* non ti consente di fare. Dato che per la maggior parte delle persone questa è una cosa inutile la risposta vien da sè!!
- il metodo prepare: rende semplici e sicure le query con dati dinamici e potenzialmente pericolosi (sql injection); non servono più escape/intval e cose varie (ma attenzione al magic_quotes!!).
- le transazioni (traduzione letterale squallida di transaction): non saprei spiegarle tecnicamente ma in soldoni... iniziando una transazione (BeginTransaction) ed eseguendo una o più query (exec) vi sarà la possibilità di "annullare gli effetti" delle query (al verificarsi di qualche condizione) e tornare al punto di partenza cioè prima dell'inizio della transazione (rollBack). Purtroppo non supportata da tutti i database-engine (occorrono tabelle InnoDB... in locale facevo test su MyISAM e stavo impazzendo :( (sweat) ).

-------------------

Utilizzarlo?

I PHP-omani lo consigliano "vivamente" (http://webdevrefinery.com/forums/topic/ ... code-sucks) ed è quasi certo che nel tempo si affermerà come standard per interfacciarsi con i db.

Quindi affido la risposta ai più esperti: http://net.tutsplus.com/tutorials/php/w ... se-access/ la cui frase finale è "I hope this helps some of you migrate away from the mysql and mysqli extensions. What do you think? Are there any of you out there who might make the switch?".

C'è qualche programmatore ha (audacemente) utilizzato PDO (PDO ON WP ma c'erano ovvi problemi con plugin che utilizzano mysql_*... cmq sia non l'ho testato).

... io mi affido agli esperti del settore (lecchino mode ON) come Maurizio (lecchino mode OFF... :rofl: ) e nel frattempo continuo a fare dei test...
oly1982

Avatar utente
 
Messaggi: 15
Iscritto il: mercoledì 30 marzo 2011, 14:45
Località: Caserta - Benevento


Torna a PHP



cron