dedlfix: [PHP] MySQL-Prozeduren in PHP verwenden

Beitrag lesen

Hi!

Verstehe ich das jetzt richtig, dass ich mit MySQL, z.B. in PHPMyAdmin, eine Prozedur erstellen muss, die quasi den INSERT-Befehl enthält?

Neben den anderen von Sven schon angesprochenen Punkten stelle auch ich noch einmal die Frage: Was versprichst du dir davon?

Würde die Prozedur dann so aussehen?

delimiter //
drop procedure sql_insert;

create procedure sql_insert ()
begin
INSERT INTO DATENBANK.TABELLE (user, task, credate) values
('$User', '$task', CURRENT_DATE());
end;


>   
> Wenn ja, wie rufe ich diese Prozedur dann in PHP auf?  
  
Eine Procedure ruft man mit CALL auf. Das steht aber in der Dokumentation zu Stored Procedures (oder allgemein: Stored Programs) dabei.  
  
Der Punkt hier ist aber, dass du nun dein INSERT-Statement nicht mehr auf die bekannte Weise aus variablen Werten zurechtbauen kannst. Bisher war es so, dass MySQL ein fertiges Statement vorgesetzt bekam, fix und fertig zusammengebaut in PHP. Wenn eine SP verwendet werden soll, um variable Werte in eine Tabelle einzufügen, musst du Parameter an die SP übergeben, diese dort übernehmen und dann an das INSERT-Statement (und die anderen in der SP verwendeten) weiterleiten. Reinweg ein INSERT zu kapseln bringt erst einmal noch sehr wenig Nutzen. Sinnvoll ist es nur dann, wenn die SP (später) noch um diverses anderes ergänzt werden soll, das sich vom Client aus nicht mit einem einfachen INSERT erledigen lässt.  
  
  
Lo!