Thread MySQL Ausgabe als Link mit Tabellenverknüpfung (18 answers)
Opened by Tobax at 2013-03-19 12:33

GwenDragon
 2013-03-26 08:49
#166614 #166614
User since
2005-01-17
14757 Artikel
Admin1
[Homepage]
user image
Problem 1: Du übernimmst in der sub bei der Zuweisung
$kunden_id = @_; nicht den ersten Wert der übergebenen Parameter sondern die Anzahl der Parameter, weil $kunden_id einen skalaren Kontext erzwingt.
Stattdessen muss du ($kunden_id) = @_; verwenden, die Klammer erzeugt Listenkontext und damit übernimmt $kunden_id den ersten Listenwert.
//EDIT:
Das Übernehmen eines Parameters der sub in die Variable hätte geklappt wenn du shift vewendest hättest. Also so:
Code: (dl )
$kunden_id = shift @_;

oder kurz:
Code: (dl )
$kunden_id = shift;


Problem 2: $query_kdsys = "select ID from tb_systeme where ID='@_'"; ist nicht sinnvoll. Dort gehört ein Parameter hinein und aus Sicherheitsgründen solltest du Platzhalter vewenden wie in Wiki:DbiPlatzhalter beschrieben.
Damit muss dann aber auch im excute der Parameter angegeben werden, der den Platzhalter ersetzt.


Dein Code:
Code (perl): (dl )
1
2
3
4
$kunden_id = @_;
$query_kdsys = "select ID from tb_systeme where ID='@_'";
$statement = $dbh->prepare($query_kdsys);
$statement->execute();


das von mir korrigierte:
Code (perl): (dl )
1
2
3
4
($kunden_id) = @_;
$query_kdsys = "select ID from tb_systeme where ID=?";
$statement = $dbh->prepare($query_kdsys);
$statement->execute($kunden_id);


Vergleich mal beide und frag dann weiter bei Nichtverstehen. ;)
Last edited: 2013-03-26 08:55:20 +0100 (CET)

View full thread MySQL Ausgabe als Link mit Tabellenverknüpfung