Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Połączenie z bazą mssql, Problem z połączeniem z bazą i konfiguracją php pod mssql
amaron
post 28.03.2011, 19:34:22
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 28.03.2011

Ostrzeżenie: (0%)
-----


Witam,

Mam problem może banalny, ale walczę z nim już 2 dni i nic. oneeyedsmiley02.png

Może ktoś miał podobny problem.

Mam system Windows7

- Zainstalowałem Apache 2.2.17 z instalki httpd-2.2.17-win32-x86-no_ssl.msi
Wybieram dalej dalej
- Network Domain : localhost
- Server Name : localhost
- Administrators email address: webmaster@somenet.com
- For All users on port 80
Next Next Browser wybieram C:\apache
Next Install Finish

- Potem php wersja dla windowsa VC6 x86 Thread Safe (2011-Mar-22 13:29:30) Installer [20.41MB]
- Next Next zgadzam się na wszystko
- Zmieniam ścieżkę na C:\php
- php
- potem wybieram apache2.2.x
- ścieżka do apache C:\apache\conf\
Next Next Install

- zmieniłem w pliku httpd.conf

PHPIniDir "C:/php"
LoadModule php5_module "C:/php/php5apache2_2.dll"


I apache sprawdziłem pod adresem http://127.0.0.1/ It works! następnie sprawdzam php
utworzyłem plik test.php a w nim

<?php

echo "test";

?>

Też chodzi!!!


Teraz moje zasadnicze pytanie dla którego się tutaj tak rozpisałem jak połączyć się z bazą windows sql server 2005 express

Gdzie
server name : LAPTOP\SQLEXPRESS
Login : sa
Password: haslo

Do bazy Autos
Tabela dbo.Cars
kolumny id, name, year

Co należy ustawić najpierw żeby w ogóle można było się połączyć. No i co wpisać bo wpisuję takie coś jak poniżej i biała strona w mozilli a w explorerze błąd HTTP 500 :/


  1. <?php
  2. // Server in the this format: <computer>\<instance name> or
  3. // <server>,<port> when using a non default port number
  4. $server = 'LAPTOP\SQLEXPRESS';
  5.  
  6. // Connect to MSSQL
  7. $link = mssql_connect($server, 'sa', 'haslo');
  8.  
  9. if (!$link) {
  10. die('Something went wrong while connecting to MSSQL');
  11. }
  12. else
  13. {
  14. echo "ok";
  15. }
  16. ?>


Gdzie tkwi błąd? albo co nie gra lub co poprawić? Jakieś pomysły?

Ten post edytował amaron 29.03.2011, 15:38:53
Go to the top of the page
+Quote Post
piotrooo89
post 28.03.2011, 19:40:06
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




proszę o dodanie odpowiedniego bbcode do listningów, w przeciwnym razie zamknę temat.


--------------------
Go to the top of the page
+Quote Post
amaron
post 29.03.2011, 15:39:44
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 28.03.2011

Ostrzeżenie: (0%)
-----


O to biega?
Go to the top of the page
+Quote Post
Fifi209
post 29.03.2011, 15:44:34
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Czytał dokumentację?

$servername
Cytat
The MS SQL server. It can also include a port number, e.g. hostname:port (Linux), or hostname,port (Windows).


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
amaron
post 29.03.2011, 18:22:03
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 28.03.2011

Ostrzeżenie: (0%)
-----


Szczerze się przyznam, że nie czytałem, ale wiem że trzeba wpisać port tylko nie wiem
- jaki?
- i gdzie go poszukać? Czy to 1433?

Głównie chodzi mi o to jak skonfigurować i jaki plik i gdzie dokładnie wgrać, bo w necie jest tego tyle, że nie wiadomo co i gdzie wgrać. Jest coś takiego

- jak plik php.ini i go trzeba gdzieś wgrywać (skopiować) przeczytałem gdzieś już nie pamiętam dokładnie czy w windows czy w windows\system32

- i jeszcze jeden jest z rozszerzeniem ntwdblib.dll należy wgrać w windowsa albo w windows32

- i że w php.ini należy odhaczyć ;extension php_mssql.dll a ja takiego czegoś w nim nie mam w tym pliku


Czy ktoś wie gdzie i co skopiować, aby ten mssql chodził?


Ten post edytował amaron 29.03.2011, 19:59:43
Go to the top of the page
+Quote Post
prachwal
post 29.03.2011, 21:05:32
Post #6





Grupa: Zarejestrowani
Postów: 171
Pomógł: 18
Dołączył: 13.03.2009
Skąd: lublin

Ostrzeżenie: (0%)
-----


olej en stary sterownik do połączenia się z MSSQL-em zastosuj ten: SQLSRV

jest nowszy, szybszy i wspiera PDO ale wymaga zainstalowanego Native Client-a

ten co używasz czyli MSSQL_ to staroć jeszcze do wersji MSSQL 2000 - olać

Go to the top of the page
+Quote Post
Noidea
post 29.03.2011, 21:06:47
Post #7





Grupa: Zarejestrowani
Postów: 226
Pomógł: 61
Dołączył: 20.08.2010

Ostrzeżenie: (0%)
-----


Cytat
- jak plik php.ini i go trzeba gdzieś wgrywać (skopiować) przeczytałem gdzieś już nie pamiętam dokładnie czy w windows czy w windows\system32

Nigdzie niczego nie kopiuj, bo to tylko burdel robi. Po prostu dodaj katalog z PHP do zmiennej środowiskowej PATH (Komputer -> właściwości -> Zaawansowane -> Zmienne środowiskowe. Katalogi Windows i Windows\system32 już tam są, dlatego te sztuczki z kopiowaniem działają). Katalogi oddzielone są średnikami.

Później wchodzisz tutaj: http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx
ściągasz sterownik, czytasz Beginner's guide żeby się dowiedzieć jak go zainstalować, instalujesz

instalacja to 3 kroki:
- skopiowanie odpowiednich plików dll (ts_vc6) do c:\php\ext
- dopisanie 1-2 linijek do php.ini (standardowy dostęp i PDO, więcej informacji w Beginner's guide)
- restart serwera

Dodatkowo jeśli masz kłopoty z dołączeniem modułu do PHP to:
- wyłącz serwer
- skasuj plik Apache\logs\error.log
- uruchom serwer
- otwórz error.log i szukaj błędów (poziom wyższy niż notice)


--------------------
Go to the top of the page
+Quote Post
amaron
post 30.03.2011, 22:32:09
Post #8





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 28.03.2011

Ostrzeżenie: (0%)
-----


Ok zrobiłem te kroki:
- czyli skopiowałem ten plik do ext
- wpisałem to w php.ini

I jak teraz zapisać to abym mógł sprawdzić czy mogę połączyć się z bazą w phpinfo() jest niby
sqlsrv
sqlsrv support enabled

Directive Local Value Master Value
sqlsrv.LogSeverity 0 0
sqlsrv.LogSubsystems 0 0
sqlsrv.WarningsReturnAsErrors On On

Chodzi mi dokładnie o zapis tego kodu który jest odpowiedzialny za połączenie dokładnie z tymi danymi jakie podałem wyżej, bo próbuję i nadal jest biała strona. sadsmiley02.gif

Ten post edytował amaron 30.03.2011, 22:33:52
Go to the top of the page
+Quote Post
Noidea
post 30.03.2011, 23:10:14
Post #9





Grupa: Zarejestrowani
Postów: 226
Pomógł: 61
Dołączył: 20.08.2010

Ostrzeżenie: (0%)
-----


http://msdn.microsoft.com/en-us/library/cc296182.aspx i inne tematy na: http://msdn.microsoft.com/en-us/library/cc296198.aspx

W twoim przypadku to będzie pewnie coś w rodzaju:
  1. <?php
  2.  
  3. $serverName = "LAPTOP\\SQLEXPRESS";
  4.  
  5. $connectionInfo = array( "UID" => "sa",
  6. "PWD" => "haslo",
  7. "Database" => "nazwaBazyDanych" );
  8.  
  9.  
  10. $conn = sqlsrv_connect( $serverName, $connectionInfo );
  11. if( $conn === false )
  12. {
  13. echo "Unable to connect.</br>";
  14. die( print_r( sqlsrv_errors(), true ) );
  15. }
  16.  
  17. ?>


Jeśli masz problemy z "białymi stronami", to ustaw sobie w php.ini display_errors na On i error_reporting na E_ALL | E_STRICT


PS. Jak już się połączysz i będziesz miał problemy z wykonaniem zapytania, to zanim poprosisz o pomoc zerknij może do MSDN

Ten post edytował Noidea 30.03.2011, 23:12:54


--------------------
Go to the top of the page
+Quote Post
amaron
post 3.04.2011, 15:26:20
Post #10





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 28.03.2011

Ostrzeżenie: (0%)
-----


Ok wszystko działa ;D Dzięki za pomoc - temat można zamknąć smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2025 - 07:58