Hi Leute,
Ich habe grade mit den Stored Procedures begonnen und versuche mich schon seit einiger Zeit an ein paar Beispielen, leider bekam ich bis jetzt über PHP nie den Wert übermittelt den ich gerne hätte.
Mein Datenbanksystem ist "MySQL"
Zum Aufbau:
Tabelle [test2] besteht aus 3 Spalten id , zahl1 und zahl2.
Nun möchte ich, mit hilfe einer SP, die "zahl1" in PHP ausgeben, gesteuert durch eine WHERE Bedingung.
Meine SP sieht folgendermaßen aus:
Ich hab bei einigen Beispielen gesehen das vor den Variablen ein '@' steht, in welchem Zusammenhang wird das geschrieben?
Zur Ausgabe in PHP:
Das ist der Ausschlaggebende Teil, vorneweg steht lediglich der Verbindungsaufbau zur Datenbank, welcher einwandfrei funktioniert.
Als Ausgabe bekomme ich "1", leider weiß ich nicht wo diese herkommt, die zahl1 die ich ausgeben möchte hat den Wert "13".
Ich hoffe ihr könnt mir helfen, ich hab mir schon Manuals angeschaut und versucht dort die Beispiele nachzuvollziehen und auszuprobieren, leider bis jetzt ohne erfolg.
Mit freundlichen Grüßen,
Marycio
Ps.: Wenn ich etwas vergessen habe, fragt bitte nach, ich poste solche Fragen eher selten, such mich lieber halb tot, aber hat diesmal leider nicht geklappt.
Ich habe grade mit den Stored Procedures begonnen und versuche mich schon seit einiger Zeit an ein paar Beispielen, leider bekam ich bis jetzt über PHP nie den Wert übermittelt den ich gerne hätte.
Mein Datenbanksystem ist "MySQL"
Zum Aufbau:
Tabelle [test2] besteht aus 3 Spalten id , zahl1 und zahl2.
Nun möchte ich, mit hilfe einer SP, die "zahl1" in PHP ausgeben, gesteuert durch eine WHERE Bedingung.
Meine SP sieht folgendermaßen aus:
Code:
CREATE PROCEDURE `count_parm`(OUT param1 INTEGER(11))
NOT DETERMINISTIC
SQL SECURITY DEFINER
COMMENT ''
BEGIN
SELECT zahl1
INTO param1
FROM `test2`
WHERE id = 1
LIMIT 1;
END;
Zur Ausgabe in PHP:
PHP:
....
$sql = "CALL count_parm(@param1)";
$resu = mysql_query($sql) or die(mysql_error());
echo '-----Ausgabe-----<br />';
echo $resu.'<br />';
echo '----Ausgabe ende---<br />';
....
Als Ausgabe bekomme ich "1", leider weiß ich nicht wo diese herkommt, die zahl1 die ich ausgeben möchte hat den Wert "13".
Ich hoffe ihr könnt mir helfen, ich hab mir schon Manuals angeschaut und versucht dort die Beispiele nachzuvollziehen und auszuprobieren, leider bis jetzt ohne erfolg.
Mit freundlichen Grüßen,
Marycio
Ps.: Wenn ich etwas vergessen habe, fragt bitte nach, ich poste solche Fragen eher selten, such mich lieber halb tot, aber hat diesmal leider nicht geklappt.