insert into funktion
zero
- php
0 Snafu1 Alexander (HH)0 Snafu0 flowh0 zero
0 Sven Rautenberg
hello,
ich brauche eure hilfe, ich hab keine ahnung wieso es nicht funktioniert und zwar:
wie wir alle wissen insert into funktion:
mysql_query("INSERT INTO tabelle
(id
,grund
,datum
)
VALUES ('3', 'A', '2008-02-21')");
das funktioniert auch super, aber ich will die werte mit variablen übergeben und nicht direkt:
$id = '3';
$grund = 'A';
$date= '2008-02-21';
mysql_query("INSERT INTO tabelle
(id
,grund
,datum
)
VALUES ( $id, $grund, $date )");
das funktioniert nicht und fehler werden auch nicht angezeigt, ich hab viel ausprobiert, aber ich komm einfach nicht drauf. ich brauch eure hilfe
danke ZeRo
Hallo!
Probiers mal mit
mysql_query("INSERT INTO `tabelle` (`id`,`grund`,`datum`)
VALUES ( '$id', '$grund', '$date' )");
// bzw ichs machs immer so, is Geschmackssache
mysql_query("INSERT INTO `tabelle` (`id`,`grund`,`datum`)
VALUES ( '".$id."', '".$grund."', '".$date."' )");
Moin Moin!
Hallo!
Probiers mal mit
mysql_query("INSERT INTO
tabelle
(id
,grund
,datum
)
VALUES ( '$id', '$grund', '$date' )");
// bzw ichs machs immer so, is Geschmackssache
mysql_query("INSERT INTOtabelle
(id
,grund
,datum
)
VALUES ( '".$id."', '".$grund."', '".$date."' )");
Wenn die Variablen ungeprüft aus URL- oder POST-Parametern kommen, ist das ein wunderschöner Angriffsvektor für SQL Injection. Benutze parametrisierte SQL-Statements (z.B. [msqli->prepare](http://de2.php.net/manual/en/function.mysqli-prepare.php) oder wenigstens eine zur jeweiligen Datenbank passende quoting-Funktion.
Alexander
--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
Hallo!
Wenn die Variablen ungeprüft aus URL- oder POST-Parametern kommen, ist das ein wunderschöner Angriffsvektor für SQL Injection. Benutze parametrisierte SQL-Statements...
1.) Sollte register_globals off sein und damit können die verwendetn Variablen nicht direkt auf den POST-Variableninhalt zugreifen sondern man müsste ihnen "per Hand" den POST-Variableninhalt liefern was
2.) in seinem kurzen Beispiel nicht der Fall war.
Aber du hast natürlich recht :)
Ich hätte eigentlich schon mysql_escape_string() im Codeausschnitt verwenden können / sollen.
Hallo.
Hinweis: Diese Funktion ist seit PHP 4.3.0 veraltet. Benutzen Sie diese Funktion nicht und verwenden Sie stattdessen mysql_real_escape_string().
Servus,
Flo
ich bedanke mich an euch alle SEHR :). es funktioniert und das mit mysql_real_escape_string() muss ich noch ausprobieren. bis jetzt hab ichs nicht gekannt, mal sehen, ob ichs schaff...
nochmals einen großen DANK,
zero
Moin!
Wenn die Variablen ungeprüft aus URL- oder POST-Parametern kommen, ist das ein wunderschöner Angriffsvektor für SQL Injection. Benutze parametrisierte SQL-Statements...
Selbst wenn die Variablenwerte nicht direkt aus bösen Quellen kommen, so können dennoch Zeichen enthalten sein, die das SQL-Statement ungültig machen.
Deshalb ist GRUNDSÄTZLICH zu escapen, egal woher die Variablen kommen. Selbst dann, wenn man eigentlich denkt, dass...
1.) Sollte register_globals off sein und damit können die verwendetn Variablen nicht direkt auf den POST-Variableninhalt zugreifen sondern man müsste ihnen "per Hand" den POST-Variableninhalt liefern was
2.) in seinem kurzen Beispiel nicht der Fall war.
- Sven Rautenberg