Hallo Robert,
Okay, wenn das geht...
grundsätzlich ja - aber jetzt hast du dich gleich mehrfach mit Detailfehlern in die Nesseln gesetzt.
if (isset ($GET_[sch]) && ($GET_[sch]) !=""){
Erstens: Falscher Variablenname. Das Array heißt $_GET.
Zweitens: Der Schlüssel gehört in Anführungszeichen, in diesem Fall vorzugsweise 'einfache', also $_GET['sch']. Ohne diese würde PHP den Namen sch als Konstante interpretieren und gnädigerweise, wenn keine solche Konstante definiert ist, dann doch den String 'sch' verwenden (Fehlertoleranz).
$abfrage=("select * from seiten2 where id='$GET_[sch]';");
Erstens, zweitens: siehe oben.
Drittens: Innerhalb von Strings, die in 'einfachen' Anführungszeichen stehen, nimmt PHP keine Ersetzung von Variablennamen vor. Ich bin nicht ganz sicher, ob das auch bei Verschachtelungen gilt, wie du sie im obigen Statement hast; sicherer wäre es auf jeden Fall, doppelte Anführungszeichen zu benutzen. Man muss sie innerhalb des Strings eben mit '' escapen.
Viertens: Wenn komplexere Variablen-Ausdrücke wie Arrayelemente in Strings ersetzt werden sollen, empfiehlt es sich, den Variablenausdruck komplett in { } einzuklammern. Andernfalls fällt der PHP-Parser darüber her und erkennt nur den Ausdruck $_GET als Variablennamen, während die Index-Klammern als normaler String unangetastet bleiben.
Damit wären wir also bei
$abfrage=("select * from seiten2 where id="{$GET_['sch']}";");
Fehler Nummer eins und zwei hätte dir der PHP-Parser aber schon verraten, wenn du error_reporting auf E_ALL gesetzt hättest (diese Fehler erzeugen eine Notice).
Und Fehler Nummer drei und vier hättest du auch selbst feststellen können, indem du dir den Inhalt von $abfrage mal angesehen hättest. Ein einfaches
echo $abfrage.'<br>';
im Quellcode hätte dir schon viel verraten können.
So long,
Martin
Fettflecke werden wieder wie neu, wenn man sie regelmäßig mit etwas Butter einschmiert.