WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   SQL Server 2005 über PHP aufrufen (http://www.wcm.at/forum/showthread.php?t=180672)

cssFreak 14.12.2005 18:18

SQL Server 2005 über PHP aufrufen
 
Hallo Leute!!!

Habe eine Frage bezüglich SQL Server und PHP.... dazu eine kleine Geschichte

Mache gerade mein Maturaprojekt... und muss für die Firma Siemens ein Loginscript schreiben.

Bei der Scriptsprache haben sie mir freie Wahl gelassen (hab mich für PHP entschieden)...
leider hat Siemens einen vertrag mit MS und deshalb kann ich kein MySQL verwenden und muss mich mit diesem blöden SQL Server von MS herumplagen....

Ein Loginsystem hört sich natürlich sehr einfach an... ist es anundfürsich auch.....das Problem das ich habe ist.. das ich die Datenbank nicht Connecten kann!!!

Mit MySQL und XAMPP war das alles kein Problem.. aber jetzt blick ich überhaupt nicht durch....

Hier mein versuch, den SQL Server zu connecten!!!
PHP-Code:

            
            $Server 
"localhost";
            
$User "_cssFreak_ ^_^";
            
$Pass "";
            
$DB "login";


            
$connection = @mssql_connect($Server$User$Pass) OR die("Couldn't connect to SQL Server on $Server");
            @
mssql_select_db($DB$connection) OR die("Couldn`t find database"); 

Hab die Variablen auch schon in einer config.php gehabt und die includet... hat leider auch ned Funktioniert!!!

Hab beim SQL Server Windows Authentification eingestellt ...

Meine Datenbank heißt login..
und meine Tabelle die ich ansprechen möchte heisst auch login...

Meiner Meinung nach müsst alles so passen wie es dortsteht.. leider funkz ned!!!

Danke im Vorraus für eure Hilfe

Sloter 14.12.2005 18:29

http://at.php.net/manual/de/ref.mssql.php

Sloter

cssFreak 15.12.2005 08:13

Tja
 
HI....

Von da hab ich das ja wie das mit dem SQL Server funkitoniern könnte... leider kann ich mich damit nicht connecten und ich finde auch kein anderes Tutorial das sich mit PHP und SQL beschäftigt!!!

Bitte um dringende Hilfe

MFG
cssFreak

zigeina 15.12.2005 09:00

solltest mal in die logs des sql servers reinschauen (respektive system und application log des servers)

vielleicht steht dort was brauchbares drinnen

______
der username ist übrigens ein sehr interessanter. ich würde mal zum testen einen etwas einfacheren, wie zB "user" mit dem Kennwort "password" nehmen.

und hast du den user auch beim windows angelegt, oder den guest account komplett geöffnet...
wennst dich nicht als windows user authentifiziewrst, darfst beim sql server auch nix....

cssFreak 17.12.2005 16:44

keine Fehlermeldungen
 
hi....

Hab jetzt meinen Benutzernamen auf admin geändert....

komische Sache....

Das Script gibt mir zwar keine Fehlermeldung aus (beim connecten zur datenbank) ...

es steht aber sonst auch nichts da...damit mein ich das er mir die Daten nicht ausliest oder wenigstens hinschreibt das keine Daten vorhanden sind...:confused:

Und mein Code dürfte soweit richtig sein... da das alles schon mit einem MySQL Server funktioniert hat!!!(hab die mysql sachen natürlich durch ms befehle ersetzt)

brauche dringend hilfe!!!

Danke schonmal!!

MFG
cssFreak

Gonte 19.12.2005 08:39

hast du die ms sql server client tools auf dem rechner installiert, auf dem dein script läuft?

wenn es sich um ein unix-derivat handeln sollte: http://www.freetds.org/

ansonsten versuch mal die sybase-api, die sollte auch funktionieren.

cssFreak 23.12.2005 11:19

@Gonte:

Hab von meiner Schule eine SQL Server 2005 CD bekommen...
denke mal das da alle Tools vorhanden sind!!!

Aber wo kann ich das nachschaun???

Danke und schöne Weihnachten!!!

MFG
cssFreak

cssFreak 19.01.2006 09:01

von anfang an...
 
Sooo....danke einmal für die Antworten die ihr mir schon geschrieben habt.... bin leider trozdem nicht weitergekommen!!!!!!!

Hier nochmal meine Angaben...vieleicht findet sich irgendjemand der das schnell runtertipppen könnte!?!?!?!


Meine constant.php:

<?php
define('MSSQL_HOST', 'localhost');
define('MSSQL_USER', 'mentasti');
define('MSSQL_PASS', '123');
define('MSSQL_DATABASE', 'login');
?>

Mein addentry.php:

<?php
include "constant.php";

$connection = @mssql_connect($Server, $User, $Pass) OR die("No connection to Server");
@mssql_select_db($DB) OR die("Couldn´t select Database");

$data = " INSERT INTO login
(name, password)
VALUES
('$_POST[name]',
'$_POST[password]')

";

$result = mssql_query($data);
header ("Location: connectionTest.php");
?>


Bitte helft mir!!!

Irgendwo muss ein Fehler sein....vieleicht bei den Serverbefehlen!?!??

Danke!!

cssFreak

zAPPEL 19.01.2006 10:07

hm..

<?php
define('MSSQL_HOST', 'localhost');
define('MSSQL_USER', 'mentasti');
define('MSSQL_PASS', '123');
define('MSSQL_DATABASE', 'login');
?>

$connection = @mssql_connect($Server, $User, $Pass) OR die("No connection to Server");

Sollte da nicht mssql_connet(MSSQL_HOST,MSSQL_USER,MSSQL_PASS) stehen? (Oder fehlt da in dem Skript von dir noch ein $Server = MSSQL_HOST)

cssFreak 19.01.2006 11:04

ja hab ich eh
 
ja...sorry...das hab ich falsch reingeschirben.....

funktioniert so aber auch nicht!!!

Muss ich vieleicht irgend etwas am IIS oder am SQL Server herumdrehn????

und...muss ich das "@" bei @mssql_connect machen???

jak 19.01.2006 17:09

Nein, das sorgt nur dafür das Fehlermeldungen nicht angezeigt werden.

jak

cssFreak 20.01.2006 00:12

ich blick einfach nicht durch!!!
 
hab jetzt das @ weg gegeben.....hab irgendwie trozdem keine Fehlermeldung!!!!

Ich versteh das einfach nicht....keine Fehlermeldungen....funktionieren tut aber trozdem nichts!!!!

Hat vieleicht irgendjemand schon einmal etwas mit PHP geschrieben wo er auf einen SQL Server zugreift???

Wäre nett wenn ihr mir so etwas schiken/posten könntet...

Bitte!!!

Gibt es vieleicht irgendetwas was ich vergessen vergessen haben könnte....bei den einstellungen des IIS oder des SQL Servers???

Hillllffffeeeee...

cssFreak

Biri 20.01.2006 15:02

hi,

hast du den sql-server für sql-server authentication konfiguriert?
Bei der Installation oder auch nachträglich kann man das angeben/ändern.

Wenn du für windows authentication konfiguriert hast, kannst du dich über die von dir verwendete weise nicht connecten.

fg
-hannes

Dobi 20.01.2006 16:54

Re: SQL Server 2005 über PHP aufrufen
 
Zitat:

Original geschrieben von cssFreak

Hab beim SQL Server Windows Authentification eingestellt ...

offensichtlich nicht; denk auch das es andersrum besser klappt

cssFreak 24.01.2006 12:44

swl server authentication
 
Tja...das weis ich nicht ganz genau!!!

Nach der Installation habe ich mich mit Windows auth. angemeldet!!!

Hab aber dan einen Neuen Benutzer angelegt...mit dem ich mich über SQL Server authentication anmelde!!!

@dobi:
was wäre besser?? win auth.???

und wen ich win auth. nehme...was funktioniert dann so bei mir nicht???

Danke
cssFreak

BobStar 24.01.2006 14:09

Der unterschied ist ganz einfach... sql user werden von sql authentifiziert und win user von windows also user nix in windows... nix in sql.

Und warum soll ein user über win authentifiziert werden wenn er nachträglich nur rechte für sql braucht. Die win-auth. ist dafür gemacht wenn man mit einem win server in einer domain arbeitet damit man user nicht neu anlegen muss sondern einfach so von windows übernehmen kann.

Vorallem in einem Forest sehr brauchbar... :cool:

cssFreak 24.01.2006 22:40

Ja ich stelle meine Verbindung über SQL auth. her.....denk ich einmal....zumindest melde ich mich beim SQL Manager Tool mit SQL auth. an!!!

Hab irgendwo gelesen das ich den Server in einer "interfaces-Datei" hineinschreiben muss....was hat es damit auf sich, wo finde ich diese Datei und was muss ich da reinschreiben!!!

Könnte ich bei der Installation des SQL Servers etwas vergessen haben???

Habe den IIS natürlich auch für PHP lauffähig machen müssen, das hab ich aber nach dieser Anleitung gemacht http://www.infos24.de/phpe/handbuch/...stallation.htm

Wäre da noch etwas zu beachten???

Danke
cssFreak

cssFreak 26.01.2006 08:43

Soooo....
 
Habe jetzt endlich Fehlermeldungen (komisch das ich mich darüber mal freu)

Fehlermeldung
PHP-Code:

call to undefined Function mssql_connect() in line.... 

Das ist sehr komisch!!!

Da der Befehl ganz sicher stimmt!!!!

Meine connection hab ich natürlich in einer Variable wenn ich aber den ganzen Teil in mssql_select_db()..reinschreibe...ist das meine neue Fehlermeldung...

Irgendwie kennt der die SQL Befehle nicht!!!!!!!!!!!!

Danke
cssFreak

Philipp 26.01.2006 12:55

Das MSSQL Modul ist nicht geladen. Um es zu aktivieren muss in php.ini folgende Zeile:
Code:

;extension=php_mssql.dll
in
Code:

extension=php_mssql.dll
geändert werden.

schnurzli 01.02.2006 10:24

hi cssfreak - hatte auch mal so ein problem - habe dann aber von der windows auth auf sql auth umgestellt. dort ist der mainuser "sa" mit dem funktioniert es auf jeden fall...
du kannst dir aber per enterprise manager einen eigene user anlegen, der die berechtigung auf die benötigte db hat.

wenn du wie philipp es bereits eklärte die extension inkludiert hast, kannst du ja mal meinen beigefügten code testen...

meine lösung:

config.php
PHP-Code:

$dbname="DATENBANKNAME";  $dbhost="HOSTNAME";  $dbuser="sa";  $dbpass="KENNWORT";    
mssql_connect($dbhost,$dbuser,$dbpass);  mssql_select_db($dbname); 

meine ausführende datei:
PHP-Code:

include ("config.php");  
$mssql ="INSERT INTO login (name,password) VALUES('$_POST[name]','$_POST[password]');  
$result = @mssql_query($mssql); 

so sollte es funktionieren....

schnurzli 01.02.2006 13:03

so gehörts natürlich...
PHP-Code:

include ("config.php");     
$mssql ="INSERT INTO login (name,password) VALUES('$_POST[name]','$_POST[password]')";     
$result = @mssql_query($mssql); 


cssFreak 02.02.2006 08:39

Hallo
 
Danke für euere Antworten....
hab das mit der extension probiert!!!

Muss ich das in der php.ini in Inetpub machen
oder mit der die ich in den Windows ordner reinkopiert hab???

Habs aufjedenfall einmal mit beiden versucht!!!

Auf jedenfall wie ich die ini in Inetpub geändert habe...is keine fehlermeldung gekommen...hat aber leider auch nichts funktioniert!!!

Dannach hab ich das gleiche in der ini im Windows ordner gemacht!!!

Jetzt kommt folgende Fehlermeldung beim Hochfahrn des PCs...

Unable to load dynamic libary from "C:/Inetpub/php/extensions/"

Hab nämlich in der PHP.INI den extension_dir als c:\Inetpub\php\extensions angegeben!!!

Ist das falsch pder warum kommen diese Fehlermeldungen....soltte ich PHP vieleicht neu installieren???

Naja
Danke
cssFreak

cssFreak 02.02.2006 15:47

aja
 
Bei der extension dir hab ich slashs und backslashs versucht....falls irgendjemand glaubt das das vieleicht der fehler is!!

Danke
cssFreak

Philipp 02.02.2006 15:58

Du hast PHP in C:/Inetpub/php installiert? :eek: Das ext Verzeichnis ist normalerweise dort wo PHP installiert ist

Siehe auch http://www.ntcompatible.com/faq-89.html

cssFreak 02.02.2006 18:00

ja!?!?!?!?!
 
Hey...ich hab das nach dieser Anleitung instaliert!!!

http://www.programmers-club.de/dateien/php_iis.htm

Ahm.....das fand ich eh komisch.....der Ordner der die Extensions beinhaltet hat bei mir "ext" geheisen.... da der extension_dir pfad aber mit dem ordner "extension" gekennszeichnet ist..hab ich den ordner einfach auf "extension" umbenannt!!!!

Ich deinstallire PHP noch einmal und installiere es nach diener Anleitung noch einmal!!!

Danke auf jeden Fall!!!

MFG
cssFreak

JackLemon 06.02.2006 16:27

Zitat:

und muss mich mit diesem blöden SQL Server von MS herumplagen....
ist ja wieder mal typisch. kann kein PHP installieren, aber der MS SQL ist natürlich von vornherein schlecht und an allem schuld... :confused:

cssFreak 07.02.2006 17:12

hmmm...
 
was hab ich denn falsch gemacht beim installieren von PHP????

Wenn ich eine Anleitung finde und PHP dann geht,...danke ich einmal das das nicht falsch sein kann......

Aber wenn du es kannsd könntest du mir ja vieleicht helfen!!!

cssFreak

cssFreak 09.03.2006 20:23

soooo....
 
Hallo Leute.....
Ich bin mal wieder da....da ich jetzt mein Problem mit asp.net gelöst habe und ich mit meinen Projekt quasi fertig bin, hab ich jetzt wieder Zeit mich mit diesem Problemchen auseinander zu setzen!!!

Also....
Nochmal mein Problem...ich will mit PHP eine MSSQL Datenbank ansprechen...das ganze läuft auf dem IIS!!!

Jetzt geh ich die ganze Geschichte noch einmal von vorne an!!!

Ich würde die installation nach diesem Tut machen http://www.infos24.de/phpe/handbuch/...stallation.htm

Meine Frage: muss ich vorher die PHPinstall installieren??? schon oder???

Wenn ich das gemacht hab...was muss ich dan machen damit ich mit PHP den SQL Server ansprechen kann??

Danke für eure Hilfe


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag