PDO::__construct
Crea una connessione a un database di SQL Server.
Sintassi
PDO::__construct($dsn [,$username [,$password [,$driver_options ]]] )
Parametri
$dsn: stringa che contiene il nome del prefisso (sempre sqlsrv
), due punti e la parola chiave Server. Ad esempio: "sqlsrv:server=(local)"
. È possibile specificare facoltativamente altre parole chiave di connessione. Vedere Connection Options per una descrizione della parola chiave Server e di altre parole chiave di connessione. L'intera stringa $dsn è delimitata, quindi ogni parola chiave di connessione non deve essere delimitata singolarmente.
$username: parametro facoltativo. Stringa che contiene il nome dell'utente. Per connettersi usando l'autenticazione di SQL Server, specificare l'ID di accesso. Per connettersi usando l'autenticazione di Windows, specificare ""
.
$password: parametro facoltativo. Stringa che contiene la password dell'utente. Per connettersi usando l'autenticazione di SQL Server, specificare la password. Per connettersi usando l'autenticazione di Windows, specificare ""
.
$driver_options: facoltativo. È possibile specificare gli attributi di Gestione driver del PDO e gli attributi dei driver Microsoft specifici di SQL Server: PDO::SQLSRV_ATTR_ENCODING, PDO::SQLSRV_ATTR_DIRECT_QUERY. Un attributo non valido non genera un'eccezione. Gli attributi non validi generano eccezioni quando viene specificato PDO::setAttribute.
Valore restituito
Restituisce un oggetto PDO. In caso di errore, viene restituito un oggetto PDOException.
Eccezioni
PDOException
Osservazioni:
È possibile chiudere un oggetto di connessione impostando l'istanza su Null.
Dopo la connessione, PDO::errorCode visualizza 01000 invece di 00000.
Se per qualsiasi motivo PDO::__construct non viene eseguito correttamente, viene generata un'eccezione, anche se PDO::ATTR_ERRMODE è impostato su PDO::ERRMODE_SILENT.
Il supporto per PDO è stato aggiunto nella versione 2.0 dei driver Microsoft per PHP per SQL Server.
Esempio con database
In questo esempio viene illustrato come connettersi a un server usando l'autenticazione di Windows e specificando un database.
<?php
$c = new PDO( "sqlsrv:Server=(local) ; Database = AdventureWorks ", "", "", array(PDO::SQLSRV_ATTR_DIRECT_QUERY => true));
$query = 'SELECT * FROM Person.ContactType';
$stmt = $c->query( $query );
while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ) {
print_r( $row );
}
$c = null;
?>
Esempio senza database
In questo esempio viene illustrato come connettersi a un server, specificando il database in un secondo momento.
<?php
$c = new PDO( "sqlsrv:server=(local)");
$c->exec( "USE AdventureWorks2022" );
$query = 'SELECT * FROM Person.ContactType';
$stmt = $c->query( $query );
while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){
print_r( $row );
}
$c = null;
?>