Autor wpisu: batman, dodany: 08.08.2010 19:08, tagi: php
Microsoft wypuścił drugą wersję sterownika SQL Server przeznaczonego dla języka PHP. W nowej wersji dodano przede wszystkim wsparcie dla PDO. Dodanie wsparcia dla PDO nie oznacza, że przestaną działać dotychczasowe rozwiązania. Wydanie drugiej wersji sterownika było dobrą okazją do przepisania biblioteki odpowiedzialnej za łączność z bazą danych SQL Server. Nowa wersja została tak napisana, aby wszystkie wspóle elementy wydzielić do osobnej warstwy, z której korzystają różne mechanizmy do łączenia się z bazę.
Jak widać na powyższym obrazku (źródło: Microsoft SQL Server Driver for PHP Team Blog) w drugiej wersji sterownika można korzystać z dwóch sposobów łącznia się bazą, co w przypadku kod będzie wyglądało nastęująco.
<?php // SQLSRV driver: $serverName = "(local)\sqlexpress"; $connectionOptions = array( "Database"=>"AdventureWorks" ); /* Connect to SQL Server using Windows Authentication. */ $conn = sqlsrv_connect( $serverName, $connectionOptions ); /* Get products by querying against the product name.*/ $tsql = "SELECT ProductID, Name, Color, Size, ListPrice FROM Production.Product"; /* Execute the query. */ $getProducts = sqlsrv_query( $conn, $tsql ); /* Loop thru recordset and display each record. */ while( $row = sqlsrv_fetch_array( $getProducts, SQLSRV_FETCH_ASSOC ) ) { print_r( $row ); } /* Free the statement and connection resource. */ sqlsrv_free_stmt( $getProducts ); sqlsrv_close( $conn );
<?php // PDO_SQLSRV driver: $serverName = "(local)\sqlexpress"; /* Connect to SQL Server using Windows Authentication. */ $conn = new PDO( "sqlsrv:server=$serverName;Database=AdventureWorks" ); /* Get products by querying against the product name.*/ $tsql = "SELECT ProductID, Name, Color, Size, ListPrice FROM Production.Product"; /* Execute the query. */ $getProducts = $conn->query( $tsql ); /* Loop thru recordset and display each record. */ while( $row = $getProducts->fetch( PDO::FETCH_ASSOC ) ) { print_r( $row ); } /* Free the statement and connection resource. */ $getProducts = NULL; $conn = NULL;