mercoledì 6 giugno 2018

Collegarsi a Sql Server con il PHP

Si, lo so, il database per eccellenza del php è il mysql, che tra l'altro è anche gratis come il linguaggio di programmazione per il web da cui più comunemente viene richiamato.
Ci sono però dei casi in cui bisogna lavorare su db diversi, magari a cui si appoggiano altri applicativi.
Se quindi l'esigenza è quella di collegarsi a sql server da php, ecco che sei capitato nel post giusto (cit.).

Per compiere questa operazione in realtà, esistono diversi metodi, più o meno semplici.
Si va dall'installazione di drivers sul server ospitante, all'aggiunta di specifiche estensioni del php, ecc...
Il metodo più rapido che ho trovato però, non richiede chissà quali passaggi a livello sistemistico, se non quelli di verificare che non ci siano blocchi tra i server che devono comunicare, e consiste nell'utilizzo di poche semplici righe di codice.


Come collegarsi a Sql Server con il PHP


Qui di seguito il codice necessario per poter effettuare la connessione a sql server da php, e come fare per poter effettuare le query, che in questo caso consistono in una semplice select:

<?
$server="nome-server";
$database="nome-database";
$user="username";
$password="password";
$conn=odbc_connect("Driver={SQL Server Native Client 10.0};Server=$server;Database=$database;",$user,$password) or die("Impossibile collegarsi a sql server");
$sql="SELECT campo FROM tabella";
$rs=odbc_exec($conn,$sql);
while(odbc_fetch_row($rs)) echo odbc_result($rs,1)."<br />";
odbc_close($conn);
?>

Come si può ben intuire da queste poche righe di codice php, la funzione chiave che serve per collegarsi a sqlserver è una generica odbc_connect.
Una volta effettuata la connessione poi, si esegue la query tramite il comando odbc_exec, che ovviamente potrebbe essere utilizzato anche per insert o update.
Si cicla il tutto con una bella while abbinata alla odbc_fetch_row, ed infine si chiude la connessione con una odbc_close.

Se poi vogliamo sapere quanti record abbiamo pescato con la nostra query, prima di decidere se sfogliarli o meno, basta utilizzare la seguente sintassi:
$numero-record=odbc_num_rows($rs);

Bene, direi che è tutto.
Con poche e semplici righe di codice php, che comprendono la stringa di connessione a sql server, ci siamo connessi al database microsoft ed abbiamo sfogliato il contenuto di una tabella.

PS ovviamente bisogna ricordarsi di utilizzare la sintassi sql di sql server, che è un po' differente da mysql... ma chettelodicoaffare (cit.).

Piaciuto l'articolo? Lascia un commento!

EmoticonEmoticon