[GEELÖST] [php] Fehler: unexpected $end?

Hallo alle zusammen,
ich wollte eine mysql tabelle machen, wo dann per aufruf ich meinen online status ändern kann. dies wollte ich z.b. für Signatur verwenden. Nur kommt da der fehler:

Mein Geschriebener CODE:

<?php
mysql_connect("localhost", "harry01","*******") or die ("Keine Verbindung moeglich");
mysql_select_db("harry01") or die ("Die Datenbank existiert nicht.");
if($_GET['status']=="online") {

$STATUS = "ONLINE";
}
if($_GET['status']=="offline") {
$STATUS = "OFFLINE";
}
if($_GET['status']=="neu") {
$eintragen = mysql_query("INSERT INTO signatur (status) VALUES ('offline')");
if($eintragen) {
echo "Erfolgreich Erstellt";
die();
}
$update = mysql_query("UPDATE signatur Set status = $STATUS WHERE id = '1'");
if($update) {
echo "du wurdest erfolgreich als ".$STATUS." eingetragen.";
}
?>

Wo soll da was mit $end sein? die betreffende zeile 20 ist:[quote=„code“]?>[/quote] also letzte zeile ??
könnte da bitte mal jemand drüber schauen?

DANKE | LG HARRY01 Und ein guten rutsch ins neue jahr
PS: Nicht wörtlich nehmen den rutsch :ps:
Livebeispiel: harry01.bplaced.net/data/signatu … tus=online
PPS: Die Tabelle hab ich angelegt siehe foto.[attachment=0]mysql.png[/attachment]

Du hast ne geschloßene Klammer zu wenig “}”

Uh danke…Übersehn
Hat geklappt vielen dank
nächstes proplem:
hab jetzt mit online aufgerufen und siehe da nichts passiert. hab code erweitert:

[quote=„Betreffender Code Abschnitt“]
[…]
$update = mysql_query(„UPDATE signatur Set status = $STATUS WHERE id = ‚1‘“);
if($update) {
echo „du wurdest erfolgreich als „.$STATUS.“ eingetragen.“;
}
else
{
echo „Es wurde nicht der status „.$STATUS.“ Eingetragen“;
}
?>[/quote]
Ausgabe bei aufruf:

Kann nochmal jemand drüber schaun?

Ich glaube $STATUS gehört in der Query noch in Quotes(’’) gesetzt, da es sich um einen String handelt. Ansonsten hilft immer

echo mysql_error();

nach der Fehlerhaften Query.

Würde also so aussehen:

$update = mysql_query("UPDATE signatur Set status = '" . $STATUS . "' WHERE id = '1'");

Mfg :wink2:

hi ich habs so 1:1 übernommen, aber immer noch das selbe. Meld mich später noch mal wenn ich error reporting drinn hab

ich finds erstaunlich wie inkonsistent dein code ist
mal ist was groß, mal ists klein, mal im string mal mit punkt-operator rangekonst …

Du solltest mal etwas Wert auf einen in sich stimmigen code legen, hast selbst am meisten von

Icb werde dann eben morgen alles klein schreiben wenn icb e_all noch hinzugefügt hab. komme heute nitmehr am pc und mein handy hat kein ftp client

EDIT:
E_ALL + Mysql error hinzugefügt.
Neuer quellcode:

[code]<?php
error_reporting(E_ALL);
mysql_connect(“localhost”, “harry01”,"***********") or die (“Keine Verbindung moeglich”);
mysql_select_db(“harry01”) or die (“Die Datenbank existiert nicht.”);
if($_GET[‘status’]==“online”) {;
$sql = “UPDATE harry01.signatur SET status = ‘ONLINE’ WHERE signatur.status = ‘OFFLINE’ LIMIT 1;”;
}
if($_GET[‘status’]==“offline”) {
$sql = “UPDATE harry01.signatur SET status = ‘OFFLINE’ WHERE signatur.status = ‘ONLINE’ LIMIT 1;”;
}
if($_GET[‘status’]==“neu”) {
$sql = “INSERT INTO harry01.signatur (status) VALUES (‘OFFLINE’);”;
if($sql) {
echo “Erfolgreich Erstellt”;
die();
}
}

$update = mysql_query("$sql");
if($update) {
$abfrage = “SELECT status FROM signatur”;
$ergebnis = mysql_query($abfrage);
echo "Status ist jetzt ".$ergebnis;
}
else
{
echo “Es wurde nicht der status “.$_GET[‘status’].” Eingetragen
”;
echo “MySQL Error:
”;
echo mysql_errno() . ": " . mysql_error(). “\n”;
}
?>[/code]
Die SQL befehle sind vom phpmyadmin generiert.
Es wir bei aufruf von harry01.bplaced.net/data/signatu … tus=online folgendes ausgespukt:

[quote=“FireFox”]Es wurde nicht der status online Eingetragen
MySQL Error:
1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‘ONLINE’ WHERE signatur.status = ‘OFFLINE’ LIMIT 1’ at line 1 [/quote]
Warum stimmt mit der syntax etwas nicht? Der hat es mir doch so ausgespuckt.

UPDATE!
MYSQL TABELLE siehe foto

Wieso maskierst du denn die Anführungsstriche beim ‚Offline‘? Damit Mysql sie nich erkennt und daher einen Fehler ausgibt? :ps:

Weis nicht warum,
ich hab (fast) keine ahnung von mysql.
hab das 1:1 vom phpmyadmin übernommen:
Also nur die maskierungen entfernen?

Ja, mach das weg :slight_smile:

THX GELÖST