php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.10.2010, 13:07  
Neuer Benutzer
 
Registriert seit: 21.10.2010
Beiträge: 9
PHP-Kenntnisse:
Anfänger
joschika77 befindet sich auf einem aufstrebenden Ast
Standard Stored procedure mit @Return

Hallo, wer kann mir sagen/schreiben wie ich eine Prozedur mit return wert von php aus aufrufe? Ausgeführt wird die Prozedur. Ich bekomme aber leider nix zurück. Nur irgendwann den Timeout auf der Clientseite. Datenbank ist MsSql. Derzeit habe ich folgendes:

PHP-Code:
    function execProcedure($companyId)
    {   
        
//das funzt ohne Probleme und die Datei wird geschrieben, also alles gut
        //$result=$this->db->execute("exec dbo.testProzedur");
        
        // das will er irgendwie nicht
        
$stmt=$this->db->prepare("exec dbo.testProzedur 0 Output");
        
$result=$this->db->execute($stmt);
        
        
$handle fopen("procedure_result.txt","w");
        
fwrite($handle,serialize($result)."\r\n");
        
//fwrite($handle,print_r($result,true)."\r\n");
        
fclose($handle);
        
        
//if (DB :: isError($result))
            //return false;
        //return true;
        
return $result;
    } 
Prozedurauszug:
Code:
--ALTER PROCEDURE [dbo].[testProzedur] @return BIT OUTPUT
AS
BEGIN
SET @return = 0
-- irgendwie code
SET @return = 1
END
Wer kann da helfen? MfG
joschika77 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.10.2010, 13:28  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Was bekommst du denn als Ausgabe, wenn du PHP mal wegläßt und das ganze direkt an die Datenbank übergibst?

Kannst du das Logging weglassen, macht das einen Unterschied?
__________________
"Nuschel ich?" - "Was?"
Chriz ist gerade online   Mit Zitat antworten
Alt 21.10.2010, 13:33  
Neuer Benutzer
 
Registriert seit: 21.10.2010
Beiträge: 9
PHP-Kenntnisse:
Anfänger
joschika77 befindet sich auf einem aufstrebenden Ast
Standard

Gibt einen Timeout wenn die eine Minute um ist (Standard halt). Er wartet vermutlich auf das Result. Keine Ahnung was das soll.

EDIT: Ne Quatsch mit dem Aufruf gibts nen Fehler: Die Option OUTPUT kann nicht verwendet werden, wenn eine Konstante an eine gespeicherte Prozedur übergeben wird.

Geändert von joschika77 (21.10.2010 um 13:36 Uhr).
joschika77 ist offline   Mit Zitat antworten
Alt 21.10.2010, 13:47  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Also ich kenne mich mit Prozeduren nur wenig aus, habe immer versucht zu vermeiden soetwas einzusetzen, weil es nur Probleme macht, schwer zu debuggen, schwer nachzuvollziehen und auch schwer wiederzufinden ist.

Das heißt, nach deinem Edit zufolge, die Prozedur enthält logische Fehler? Dabei kann ich dir leider auch nicht weiterhelfen, evtl. macht es mehr Sinn das ganze ins Datenbankforum zu verschieben. Vielleicht findet sie dort ein kompetenter Helfer früher.

Anderer Ansatz: Was hast du vor? Vielleicht kann man deine Aufgabe auch einfacher hinbekommen?!
__________________
"Nuschel ich?" - "Was?"
Chriz ist gerade online   Mit Zitat antworten
Alt 21.10.2010, 13:58  
Neuer Benutzer
 
Registriert seit: 21.10.2010
Beiträge: 9
PHP-Kenntnisse:
Anfänger
joschika77 befindet sich auf einem aufstrebenden Ast
Standard

Ich möchte auf der Php Seite wissen wann die Prozedur durchgelaufen ist. Das übergebe ich dann meinem Client. Eigentlich möchte ich auch noch ein Parameter in der Prozedur haben. Aber wenn das nicht mal mit dem Rückgabewert klappt. Naja...Wollte in diesem Fall auch nur wissen ob der Aufruf aus dem Php so richtig ist.
joschika77 ist offline   Mit Zitat antworten
Alt 21.10.2010, 14:03  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Findest du im Netz kein MSSQL/SP-Tutorial? Ich kann dir leider nicht weiterhelfen
__________________
"Nuschel ich?" - "Was?"
Chriz ist gerade online   Mit Zitat antworten
Alt 21.10.2010, 14:03  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

das war glaub ich nicht die Antwort, die Chriz haben möchte .. WAS MACHT Die Prozedur ?

kann man das evtl auch außerhalb der Datenbank zum Beispiel in php lösen, dann bräuchtest du ja die stored procedure nicht

im übrigen interessiert es die meisten Kunden nen feuchten .... , dass die Datenbank an ihrer letzten Anfrage x mikrosekunden gerechnet hat, weil das ganze Gespann aus Datenbank, PHP und Webserver am Ende doch wieder ne halbe bis mehrere Sekunden braucht, um die Antwort zu präsentieren
eagle275 ist offline   Mit Zitat antworten
Alt 21.10.2010, 14:09  
Neuer Benutzer
 
Registriert seit: 21.10.2010
Beiträge: 9
PHP-Kenntnisse:
Anfänger
joschika77 befindet sich auf einem aufstrebenden Ast
Standard

Oh ne das wird nix. Da läuft ein riesiger Import drin. Das ganze wird angeschoben über einen wsdl Dienst der von einem gewissen Client aufgerufen wird. So wie das ist muss das schon. Funzt ja ohne return auch. Aber dennoch muss das irgendwie gehen. Desweiteren hätte ich auch gern einen Übergabeparameter. In meinem Fall die Company_id, da hab ich auch einiges probiert. Aber ohne Erfolg, die Prozedur hat dann kein insert & kein update mehr ausgeführt. Werde mal im Sql Forum fragen. Wollte hier nur wissen ob das ganze Php technisch sauber ist.

MfG
joschika77 ist offline   Mit Zitat antworten
Alt 21.10.2010, 14:11  
hts
Erfahrener Benutzer
 
Registriert seit: 07.09.2010
Beiträge: 722
PHP-Kenntnisse:
Fortgeschritten
hts befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von joschika77 Beitrag anzeigen
Wollte in diesem Fall auch nur wissen ob der Aufruf aus dem Php so richtig ist.
Eher nicht. Sieh dir mal Beispiel 3 an: http://www.php.net/manual/en/pdostatement.bindparam.php
hts ist offline   Mit Zitat antworten
Alt 21.10.2010, 14:17  
Neuer Benutzer
 
Registriert seit: 21.10.2010
Beiträge: 9
PHP-Kenntnisse:
Anfänger
joschika77 befindet sich auf einem aufstrebenden Ast
Standard

Die Beispiele hatte ich auch schon gefunden und getestet. Auf Clientseite bekomme ich eine Exception das er bindValue nicht kennt oder so. Hatte das getestet als ich das mit dem Parameter machen wollte, was ja bekanntlich auch fehl schlug.

EDIT: Ich weiss auch nicht ob PDO das Richtige ist.
joschika77 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Stored Procedures bei SELECT mit mehreren ergebnissen Screeze Datenbanken 6 05.06.2010 14:34
Procedure, Subselect notyyy Datenbanken 5 10.03.2010 17:32
stored procedure aus php aufrufen svhach PHP Tipps 2010 6 08.02.2010 20:53
problem mit mysql und stored procedures DarkPrisma Datenbanken 3 08.02.2010 09:28
[MySQL] Existiert Alternative für LOAD DATA INFILE für stored Procedures? TheIfrit Datenbanken 1 14.10.2009 09:59
Stored Procedure - Update Lager MySQL JeanRowan Datenbanken 8 19.05.2009 18:17
Stored Procedures erstellen klappt nicht... Robinrobin PHP Tipps 2009 6 12.05.2009 12:42
Stored Procedure rückgabe eines result set Horst79 Datenbanken 4 09.04.2009 08:56
[Erledigt] Stored Procedure Horst79 Datenbanken 4 06.04.2009 15:45
Nochmal stored procedures drsoong Datenbanken 6 06.03.2009 17:40
[Erledigt] stored procedure via phpMyAdmin drsoong Datenbanken 3 25.02.2009 18:08
mySQL - Stored Procedures - Last Inserted Identity Datenbanken 6 23.11.2008 19:06
stored procedure, prepared statement wird nicht ausgeführt Horst79 PHP Tipps 2008 9 28.09.2008 15:08
Stored Procedure - Invalid Format %d Rex Datenbanken 2 25.08.2006 10:13
CLOB als Rückgabewerte aus Oracle Stored Procedure PHP-Fortgeschrittene 1 31.01.2006 11:43

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php stored procedure rückgabewert, php stored procedures rückgabewert, stored procedure rückgabewert, mysql stored procedure return, preparestatement(\ exec dbo.\);, stored procedure return, php stored procedure rückgabe parameter, stored procedure rückgabewert php, php mysql prozedur retun, \mssql\ rückgabewert gespeicherte prozedur variable, stored procedure mit rückgabewert, stored procedure rückgabewert mysql php, php stored procedur mit rückgabeparameter, php mysql stored procedure rückgabewert, mysql stored prodedure rückgabe php, mysql stored procedure timeout, mysql prozeduren nur einmal ausführen, preparestatement exec result mssql, procedures mysql return wert, php \@return\

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:39 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum