Ich versuche, eine gespeicherte Prozedur mit mySQL zu erstellen. Mit diesem Verfahren werden ein Benutzername und ein Kennwort überprüft. Ich arbeite derzeit mit mySQL 5.0.32, so dass es möglich sein sollte, Prozeduren zu erstellen.
Hier ist der Code, den ich verwendet habe. Ich bekomme nur einen SQL-Syntaxfehler.
GO
CREATE PROCEDURE checkUser
(IN @brugernavn varchar(64)),IN @password varchar(64))
BEGIN
SELECT COUNT(*) FROM bruger WHERE [email protected] AND [email protected];
END;
Danke im Voraus
Ich habe es jetzt herausgefunden. Hier ist die richtige Antwort
CREATE PROCEDURE checkUser
(
brugernavn1 varchar(64),
password varchar(64)
)
BEGIN
SELECT COUNT(*) FROM bruger
WHERE bruger.brugernavn=brugernavn1
AND bruger.pass=password;
END;
@ zeigt auf eine globale Variable in mysql. Die obige Syntax ist korrekt.
(IN @brugernavn varchar(64)**)**,IN @password varchar(64))
Das Problem ist der )
Es ist sehr einfach, ein Verfahren in MySQL zu erstellen. In meinem Beispiel werde ich hier eine Prozedur erstellen, die dafür verantwortlich ist, alle Daten gemäß dem angegebenen Namen aus der Schülertabelle abzurufen.
DELIMITER //
CREATE PROCEDURE getStudentInfo(IN s_name VARCHAR(64))
BEGIN
SELECT * FROM student_database.student s where s.sname = s_name;
END//
DELIMITER;
In obigem Beispiel lauten Datenbank- und Tabellennamen student_database bzw. student .. .. Hinweis: Anstelle von s_name können Sie auch @s_name als globale Variable übergeben.
Wie rufe ich die Prozedur auf? Es ist sehr einfach, einfach durch Aufruf dieses Befehls die Prozedur aufzurufen
$mysql> CAll getStudentInfo('pass_required_name');