połączenie PHP z ms sqlserver

Odpowiedz Nowy wątek
2012-09-13 16:03

Rejestracja: 13 lat temu

Ostatnio: 3 lata temu

0

Witam
Do tej pory używałem sqlserver do aplikacji asp.net. Aktualnie próbuję zapoznać się z poznać PHP. Wszędzie w intenecie i książce do nauki PHP spotykam łańcuch połączenią zawierający użytkownika i hasło. Mam na dysku sqlserver 2005 express, który posiada autoryzację do serwera windowsową. Bardzo proszę o pomoc:

  • czy istnieje łańcuch połącznia bez konieczności podawania użytkownika i hasła lub,
  • w przypadku braku takiej możliwości, jak zmienić konfigurację serwera na autoryzację sql-ową.
    W drugim przypadku zależało by mi na możliwie szczegółowym (krok po kroku) opisie czynności, bo znalezionych w internecie opisów jakoś nie rozumiem.
    Z góry dziękuję za pomoc.
    Pozdrawiam
    Emil

Pozostało 580 znaków

2012-09-13 19:06
Moderator

Rejestracja: 13 lat temu

Ostatnio: 3 tygodnie temu

Lokalizacja: Rzeszów

0

Spróbuj wstawić jako login sa oraz puste hasło.


Pozostało 580 znaków

2012-09-14 10:15

Rejestracja: 13 lat temu

Ostatnio: 3 lata temu

0

Witam
Teraz mam jeszcze większy problem. Po wpisaniu takiego kodu:

$connection = mssql_connect("KG-AALVBD1QFFN6", "", "") or die ("nie można nawiązać połączenia z serwerem");
$db = mssql_select_db("Northwind", $connection) or die ("nie można wybrać bazy danych");
$sql = "select * from dbo.Orders ORDER BY ShipCountry ASC";
$sql_result = mssql_query($sql, $connection) or die ("nie można wykonać zapytania");

otrzymuję taki komunikat:

"Fatal error: Call undefinied funcion mssql_connect() in C:\xampp\htdocs\naukaphp\prezent_bazy_sql.php on line 2.".

Tym bardziej nie rozumiem o co chodzi, gdyż w podręczniku php ze strony firmowej php wynika, że dla php4, php5 taką wałśnie funkcję się stosuje. Ja używam PHP 5.2.0 z pakietem Xampp, a więc wydawało by się, że jest wszystko w porządku.
Jeżeli mógł by mi ktoś coś doradzić w tej sprawie to byłbym mocno wdzięczny.
Pozdrawiam
Emil

Pozostało 580 znaków

2012-09-14 10:28
Moderator

Rejestracja: 13 lat temu

Ostatnio: 3 tygodnie temu

Lokalizacja: Rzeszów

0

w php.ini potrzebujesz odblokować rozszerzenie do obsługi mssql ;)


Pozostało 580 znaków

2012-09-14 10:54

Rejestracja: 13 lat temu

Ostatnio: 3 lata temu

0

Dzięki Ci dzek69 z pomoc ale ja nie znalazłem nic takiego w php.ini co by mogło spełniać Twoją propozycję. Próbowałem w linii "mssql.secure_connection = off" zamienić "off" na "on", ale nie dało pozytywnego rezultatu. Bardzo Cię proszę o dalszą pomoc w tym temacie.
Emil

Pozostało 580 znaków

noone_logged_out
2012-09-14 11:06
noone_logged_out
0

Skorzystaj z PDO, będzie wygodniej i mniej problemów.

pdo chyba wymaga natywnej biblioteki? - dzek69 2012-09-14 11:13

Pozostało 580 znaków

2012-09-14 11:17
Moderator

Rejestracja: 13 lat temu

Ostatnio: 3 tygodnie temu

Lokalizacja: Rzeszów

0

Odpal php.ini, CTRL+f i wpisz "extension=", i szukaj. Tam masz listę rozszerzeń.
U mnie niestety nie ma spodziewanego php_mssql (jest php_pdo_mssql, wymagane zapewne przez core PDO do obsługi mssql, nie wiem natomiast czy to nie potrzebuje dodatkowo "czystego" mssql), ale wg informacji z phpinfo() to moje php jest skompilowane z --without-mssql, więc pewnie dlatego nie widzę czystego mssql na liście zakomentowanych rozszerzeń nawet.
Jeżeli też nie masz php_mssql to sprawdź czy masz php_pdo_mssql, odkomentuj, zrestartuj serwer, spróbuj użyć PDO do ustanowienia połączenia.


Pozostało 580 znaków

2012-09-15 12:01

Rejestracja: 13 lat temu

Ostatnio: 3 lata temu

0

witaj dzek69
Znalazłem u siebie taką linię w php.ini:

extencion=php_mssgl.dll

Próbowałem z DBO ale tam też jest autoryzacja serwerowa wymagająca usera i hasła. Wydaje mi się, że sobie z tym nie poradzę a szkoda, bo znacznie bardziej lubię ms sqlserver niż mysql. A jeżeli byłbyś taki fajny to podpowiedz mi jakiś menadżer dla mysql.
Z góry dzięki
Emil

Pozostało 580 znaków

2012-09-15 13:45
Moderator

Rejestracja: 13 lat temu

Ostatnio: 3 tygodnie temu

Lokalizacja: Rzeszów

0

Czemu nie kopiujesz linii, tylko piszesz, i to z błędami? Przed tą linią zdaje się jest średnik. Usuń go. Zapisz. Zrestartuj serwer. Spróbuj jeszcze raz ten kod z Twojego drugiego posta. Jeżeli nie pomoże - utwórz nowy plik z kodem:

<?php
phpinfo();
?>

I wklej tutaj wynik.

Próbowałeś do mssql user "sa", hasło puste?

Menedżer? W sensie coś jak phpMyAdmin? Dodam, że od wersji nowszej niż 3.3.10.5 (podana wersja jest najnowsza akceptowalna) kompletnie skopali użyteczność tego narzędzia, także zainstaluj sobie tę, a z nowszymi spotkasz się na webhostingach i jeszcze je sprzeklinasz, albo zainstalujesz własną kopię starszej wersji :P

Odpisując uwzględnij KAŻDY fragment mojego postu.


edytowany 2x, ostatnio: dzek69, 2012-09-15 13:47

Pozostało 580 znaków

2012-09-16 10:23

Rejestracja: 13 lat temu

Ostatnio: 3 lata temu

0

Witaj dzek69
Poddałem się. Zainstalowałem MySQL Workbench 5.2 CE i będę używał bazy MySQL. Szkoda, że nie będę mógł do ćwiczeń wykorzystywać bazy Northwind.
Serdecznie dziękuję Ci za pomoc.
Pozdrawiam
Emil

I to się nazywa fachowe rozwiązanie problemu! - Marcin.Miga 2012-09-16 12:31

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0