![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 20.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam, spotkałem się a tym problemem i brakuje mi już pomysłów jak go "ugryść"
przy połączeniu do bazy funkcją sqlsrv_connect zawsze jest FALSE Kod ini_set( 'extension', 'php_sqlsrv_54_nts.dll' ); ini_set( 'extension', 'php_pdo_sqlsrv_54_nts.dll' ); echo rand( 10, 99 ) .' '; $serverName = "(local)\SQLGP"; $connectionInfo = array( "Database"=>"2008", "UID"=>"tester", "PWD"=>"123"); /* Connect using Windows Authentication. */ $conn = sqlsrv_connect( $serverName, $connectionInfo); var_dump($conn); //// FALSE phpinfo(); wszystko ( MSSQL, PHP ) jest na lokalnym komputerze, baza to MSSQL 2008 R2, PHP według phpinfo to 5.6.3 na XAMPP'ie standardowo nie było sterowników do mssql więc pobrałem z strony https://www.microsoft.com/en-us/download/de...s.aspx?id=20098 w zakładce System Requirements jest opisik: Version 4.0 supports PHP 7.0+ on Windows and Linux Version 3.2 supports PHP 5.6, 5.5, and 5.4 on Windows Version 3.1 supports PHP 5.5 and 5.4 on Windows Version 3.0 supports PHP 5.4 on Windows wiec do katalogu ext wrzuciłem pliki z paczki 3.2 i próbuje z powyższym skryptem ale cały czas jest FALSE proszę o podpowiedz |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 377 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego nie dodasz po prostu do php.ini?
http://php.net/manual/en/function.dl.php -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 20.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
dodałem do php.ini
XAMPP przyjął bez błędów kombinowałem z wersją sterownika, w nazwie sterownika jest 56, 54, 55 kombinowałem z uprawnieniami wymuszone logowanie - $connectionInfo = array( "Database"=>"2008", "UID"=>"tester", "PWD"=>"123"); autologowanie - $connectionInfo = array( "Database"=>"2008" ); mogę w jakiś sposób sprawdzić czy dany host istnieje ? $serverName = "(local)\SQLGP"; funkcja nie zwraca żadnego błędu i nie wiem który element zawodzi: zły host, zła baza, zły login lub hasło w PDO co zgłosi ? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 377 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Włącz raportowanie błędów na początek, sprawdź co zwraca phpinfo (czy wczytało rozszerzenie).
Instalacja całego serwera + SQL Server -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 20.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
phpinfo();
PDO PDO drivers mysql, odbc, pgsql, sqlsrv pdo_sqlsrv pdo_sqlsrv support enabled sqlsrv sqlsrv support enabled po ostatnim poście zmontowałem proste PDO $pdo = new PDO("sqlsrv:Server=localhost;Database=2008", "tester", "123"); wyrzuciło mi błąd ODBC i link http://go.microsoft.com/fwlink/?LinkId=163712 i coś się ruszyło ![]() teraz var_dump pokazuje resource(2) of type (SQL Server Connection) resource(3) of type (SQL Server Statement) powodem był brakujący sterownik ODBC ![]() przykład, może się komuś przyda Kod $sql = "SELECT * FROM sPogoda ";
echo rand( 10, 99 ) .' <br /> '; $serverName = "(local)\SQLGP"; $connectionInfo = array( "Database" => "2008", "UID" => "tester", "PWD" => "123" ); $conn1 = sqlsrv_connect( $serverName, $connectionInfo ); var_dump( $conn1 ); echo '<br />'; if( $conn1 === false ){ die( print_r( sqlsrv_errors(), true )); } $stmt = sqlsrv_query( $conn1, $sql, array(), array( "Scrollable" => 'keyset' )); echo '<pre>'; print_r( sqlsrv_fetch_array( $stmt )); echo '</pre>'; echo '<br />'; if( $stmt === false ){ die( print_r( sqlsrv_errors(), true )); } echo '<br />'; echo '<br />'; echo '<br /> PDO '; $dsn = "sqlsrv:Server=(local)\SQLGP;Database=2008"; try { $conn2 = new PDO( $dsn, 'tester', '123' ); $conn2->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); $sth = $conn2->prepare( $sql ); $sth->execute(); $result = $sth->fetchAll(); echo '<pre>'; print_r( $result ); echo '</pre>'; } catch(Exception $e){ echo $e->getMessage(); } |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 02:25 |