Hi.
Beschäftige mich gerade mit Stored Procedures in MSSQL und habe folgende Stored Procedure:
Die versuche ich jetzt einfach mit folgendem PHP Test-Skript aufzurufen:
Wie bekomme ich jetzt den Aktivierungscode in eine Variable zurück?
Hintergrund: baue einen Loginbereich mit Registrierung. Wenn der User sich registriert, werden seine Daten in der Datenbank hinterlegt und von MSSQL eine eindeutige Zeichenkette erstellt, die ich dem User an seine Mail Adresse schicke. Durch klick auf den enthaltenen Link soll er dann seinen Account freischalten. Also eigentlich nichts besonderes.
Da ich das erste mal mit Stored Procedures in Kombination mit MSSQL arbeite, bin ich für jede Anmerkung, Tipps und Verbesserungsvorschläge dankbar.
mfg streuner
P.S. Läuft über den neuesten Apache & PHP 5.
P.P.S. error_reporting(E_ALL); gibt auch nichts aus. Es wird immer Fehler 500 (Fehler im Skript angezeigt)!
Beschäftige mich gerade mit Stored Procedures in MSSQL und habe folgende Stored Procedure:
Code:
USE [xxx] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[erstelleBenutzer] ( @Login varchar(50), @Passwort varchar(100), @EMail varchar(250), @Aktivierungscode uniqueidentifier OUTPUT ) AS BEGIN INSERT INTO T_Benutzer ( Login, Passwort, EMail ) SELECT @Login, @Passwort, @EMail SELECT @Aktivierungscode = (SELECT Aktivierungscode FROM T_Benutzer WHERE ID = SCOPE_IDENTITY()) END
Code:
//...bisher werden nur Testwerte übergeben (Benutzer1, geheim...usw) $conn=mssql_connect ("localhost", "xxx", "xxx") or die("Kein Connect"); $tmp=mssql_select_db("xxx", $conn); $proc=mssql_init("erstelleBenutzer", $conn); mssql_bind($proc, "@Login", "Benutzer1", SQLVARCHAR, false, false, 50); mssql_bind($proc, "@Passwort", "geheim", SQLVARCHAR, false, false, 100); mssql_bind($proc, "@EMail", "abc@cde.de", SQLVARCHAR, false, false, 250); mssql_bind($proc, "@Aktivierungscode", "", SQLVARCHAR, true, false, 250); //true, wegen Rückgabe Output $result=mssql_execute ($proc); mssql_free_statement($proc); //...
Hintergrund: baue einen Loginbereich mit Registrierung. Wenn der User sich registriert, werden seine Daten in der Datenbank hinterlegt und von MSSQL eine eindeutige Zeichenkette erstellt, die ich dem User an seine Mail Adresse schicke. Durch klick auf den enthaltenen Link soll er dann seinen Account freischalten. Also eigentlich nichts besonderes.
Da ich das erste mal mit Stored Procedures in Kombination mit MSSQL arbeite, bin ich für jede Anmerkung, Tipps und Verbesserungsvorschläge dankbar.
mfg streuner
P.S. Läuft über den neuesten Apache & PHP 5.
P.P.S. error_reporting(E_ALL); gibt auch nichts aus. Es wird immer Fehler 500 (Fehler im Skript angezeigt)!
Kommentar