Hello,
Wenn es gleichartige sind, kannst Du diese beispielsweise auch in einem (assoziativen) Array speichern und übergeben.
nee sind es leider nicht.
da hat sich Cheatah wohl etwas missverständlich ausgedrückt. Man kann bei PHP auch ganz verscheidenartige Variablen in einem assoziativen Array speichern und übergeben.
$daten = array(); # damit wird ein leeres Array erzeugt.
$daten["vorname"] = "Hans"; # damit wird ein Stringfeld mit dem
# Inhalt "Hans" ins Array aufgenommen
$daten["alter"] = 37; # Damit wird eine Zahl angelegt
Über Arrays könnte man hier bsetimmt 140 Seiten schreiben...
Wenn Du diese Daten nun an die Funktion übergeben willst, dann machst Du das folgendermaßen:
Die Definition
function SatzSpeichern($werte, $table, $con)
{
...
return $erfolgsergebnis;
}
Der Aufruf:
$ok = SatzSpeichern($daten, "Adressen", $db1);
Innerhalb der Funktion kannst Du auf die Daten nun folgendermaßen zugreifen:
function SatzSpeichern($werte, $table, $con)
{
$sql = "Insert into $table set ";
$sql .= "Vorname = ".mysql_escape_string($daten["vorname"]); #1)
$sql .= "Alter = ".intval($daten["alter"]);
$ ergebnis = mysql_query($sql, $con);
return $ergebnis;
}
#1) Wenn man die Daten in einem Array bindet und die Namen für die
# Variablen günstig wählt, kann man hier gut eine Schleife
# verwenden, wenn man viele Felder zu bearbeiten hat.
Die Funktionen mysql_escape_string() und intval() wurden benutzt, damit keine schädlichen Werte an die Datenbankschnittstelle übergeben werden können. Lies einfach mal nach, was sie machen.
$con bzw $db1 enthält die Verbindungskennung, die man immer angeben sollte, auch wenn man nur mit einer Datenbank arbeitet. Es beschleunigt die Zugriffe.
Und dass in $table der Tabellenname steht, kann man erkennen, oder?
Ich hoffe, das konnte man so verstehen, sonst frag nochmal.
Grüße
Tom