Was genau soll das bringen?
Das:
PHP-Code:
if (!isset($_POST['buy'])) $_POST['buy']= "";
stellt nur fest ob "buy" im _POST-Array vorhanden ist, ist es nicht vorhanden wird es ja noch vernünftig deklariert, ist es aber vorhanden, wird es nicht mal auf Inhalt geprüft.
Vernünftiger wäre hier sowas (wenn "buy" ein string ist):
$buy = (!isset($_POST['buy']) ? '' : addslashes($_POST['buy']));
Wobei das ganze natürlich auch über andere Funktionen escapt werden kann/darf
Achso.das ist auch kein SQL, sondern ein PHP-Injection ;-)