T&R splet blog o spletnih storitvah. Razgaljamo tehnologijo!

reference spletnih strani
29th October

PHP – namestitev SQL Server 2005 knjižnice (SQLSRV extension)

Če ste kdaj uporabljali PHP MS SQL knjižnico ali odbc knjižnico za dostop do MS SQL baze veste, da stvari niso popolne ali bolje rečeno tako dodelane kot pri MySQL oz. MySQLi knjižnici. Primer napaka je column truncate, ki nam vrne le del stringa namesto celotnega (tukaj se govori o LONGBLOB tipih, kjer je podatkov v eni vrstici zares veliko), vaš čas pa znajo potratiti včasih čudne napake.

Ker pa je zadnje čase Microsoft veliko bolj pripravljen pomagati PHP skupnosti (nato kažejo tudi zadnje novice o Microsoft Azure ter PHP podpori) so spisali nov PHP5 modul oz. extension. Uradni opis:

The SQL Server 2005 Driver for PHP is a PHP 5 extension that provides data access to SQL Server 2005 and SQL Server 2008. The extension provides a procedural interface for accessing data in all versions (including Express) of SQL Server 2005 and SQL Server 2008. The SQL Server 2005 Driver for PHP API includes support for Windows Authentication, transactions, parameter binding, streaming, metadata access, and error handling.

Poglejmo kako zadevo namestiti na WAMP konfiguraciji (windows, apache, mysql, php). Potrebujete:

Namestitev SQLSRV modula:
Potrebno je modificirati php.ini, ki se (ponavadi) nahaja znotraj PHP inštalacije. Odprite z Notepad urejevalnikom, poiščite frazo "; Windows Extensions", nato na koncu dodajte extension=php_sqlsrv_ts.dll. S tem PHP naučimo, da bo za sqlsrv funkcije uporabljal php_sqlsrv_ts modul (posplošeno). S pomočjo phpinfo pa lahko preverite ali se je zadeva uspešno naložila. Iščite po "sqlsrv support enabled" frazi.

Primer uporabe SQL Server 2005 - sqlsrv modula:

PHP:
  1. // Povezava
  2. $conn = sqlsrv_connect('MS SQL 2005 server hostname', array( "UID" => "username", "PWD" => "password", "Database" => "ime baze"));
  3.  
  4. if($conn == false) {
  5.     echo("Connection could not be established");
  6.     die( print_r( sqlsrv_errors(), true));
  7. }
  8.  
  9. // Branje
  10. $sql = "SELECT id FROM Table";
  11. $stmt = sqlsrv_query($conn, $sql);
  12. while ( ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) !== false) {
  13.    echo $row['id'];
  14. }

Opise funkcij, primere uporabe itd. pa lahko najdete na MS API spletni strani.

Dodatne informacije:

Mogoče kdo ve, če obstaja kakšen abstraction layer za novo knjižnico (kot na primer MDB2)?

Deli s skupnostjo:

  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks

Podobni članki:

  1. Povezava na MSSQL 2005 z uporabo PHP mssql knjižnice (MSSQL, PHP MSSQL, Windows, Apache)
  2. Povezava preko IIS-ja s PHP-jem na strežnik MSSQL 2005 z uporabo Windows Authentication načina (MSSQL, PHP SQLSRV, Windows, IIS)
  3. PHP – kako ugotoviti tip datoteke (get file extension type)
  4. PHP – povezovanje na MSSQL bazo – Linux,Windows (odbc,mssql,iOdbc)
  5. Namestitev in predelava WampServer 2 (php extensions, virtual host, httpd.conf, mod rewrite)
  6. PHP POST Request – brez uporabe cURL knjižnice
  7. Pretvorba PHP MySQL aplikacije v PHP MS SQL aplikacijo (apache, php, mdb2, mysql => iis, php, mdb2, mssql)
  8. Namestitev spletnega strežnika IIS – privzeti direktorij InetPub – konfiguracija

2x komentirano na “PHP – namestitev SQL Server 2005 knjižnice (SQLSRV extension)”

  1. PHP - povezovanje na MSSQL bazo - Linux,Windows (odbc,mssql,iOdbc) | .: TRSplet - internetne storitve :. je napisal:

    [...] PHP - namestitev SQL Server 2005 knjižnice (SQLSRV extension) [...]

  2. Povezava na MSSQL 2005 z uporabo PHP mssql knjižnice (MS SQL 2005, PHP MSSQL) | .: TRSplet - internetne storitve :. je napisal:

    [...] smo že, da je nova SQL Server 2005 knjižnica (SQLSRV extension) najboljša izbira pri povezavi na Microsoft.... Vendar starejše aplikacije še vedno uporabljajo knjižnice (kot je naprimer MDB2), ki [...]

Dodaj komentar