Parse error: syntax error
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
abfrage
aufruf
ausgabe
bedingung
beginnen
code
datum
eigentliche fehler
ergebnis
feld
funktion
index
limit
objekt
punkt
semikolon
spieler
url
variablen code
zugreifen
-
Hallo liebe Lima-City Community,
ich habe ein Problem bei der Programmierung eines Browsergames..
<?php
$id=1;
mysql_connect('mysql.lima-city.de:3306','NICHTS FÜR EUCH','NICHTS FÜR EUCH');
mysql_select_db('NICHTS FÜR EUCH');
function ausgabe($var)
{
global $id;
$abfrage = mysql_query('SELECT $var FROM spieler WHERE $id');
$row = mysql_fetch_object($abfrage)
return $row->$var;
}
?>
Fehlermeldung auf der Homepage:
Parse error: syntax error, unexpected 'return' (T_RETURN) in C:\Users\maxi2011\Desktop\Browsergame\XAMPP\htdocs\index.php on line 12
Wie kann ich das beheben?
Beitrag zuletzt geändert: 10.10.2013 12:33:46 von mcmaxi2011hd -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo
1. bei WHERE musst Du auch abgragen, welches Feld den Wert haben soll
.... damit nur ein Ergebnis kommt, kann man noch LIMIT 1 dazu screiben.
2. bei return die Variable nicht mit % sondern mit $ beginnen.
3. ich würde die $id nicht global setzen, sondern an die Funktion übergeben
EDIT: ... nach mysql_fetch_object($abfrage) fehlt ein
(Strichpunkt / Semikolon);
:xD ... ganz übersehen :)
function ausgabe($var,$id) { $abfrage = mysql_query("SELECT ".$var." FROM spieler WHERE ".$var." ='".$id."' LIMIT 1"); if ($abfrage) { $row = mysql_fetch_object($abfrage); return $row->$var; } else { return false; } } $feld = 'id'; $wert = '123'; $ergebnis = ausgabe($feld ,$wert); print '<p>'.$ergebnis.'</p>'."\n";
... aber ich frage mich, was du damit bezwecken willst,
die Abfrage gibt als Wert nur das zurück, was Du schon bei Aufruf als Wert übergeben hast ?!
Wenn Du z.B. alle Daten zu einer Spieler-ID haben willst, dann so
mit SELECT * (Sternchen) und nur die Bedingung mit den Variablen
function ausgabe($var,$id) { $abfrage = mysql_query("SELECT * FROM spieler WHERE ".$var." ='".$id."' LIMIT 1"); if ($abfrage) { $row = mysql_fetch_object($abfrage); return $row; } else { return false; } } $feld = 'id'; $wert = '123'; $ergebnis = ausgabe($feld ,$wert); print '<pre>'."\n"; print_r($ergebnis); print '</pre>'."\n";
Das $ergebnis ist dann nicht nur ein eintelner Wert,
sondern ein Object mit mehreren Werten (Unter-Objekte)
und mann kann darauf zugreifen mit $ergebnis->name oder $ergebnis->punkte
oder alle Unter-Objekte durchlaufen mit mit foreach()
... nicht getestet
Beitrag zuletzt geändert: 10.10.2013 14:23:45 von ranks -
Der eigentliche Fehler ist ein fehlendes ;.
-
tchab schrieb:
Der eigentliche Fehler ist ein fehlendes ;.
Oh warte.. ich habe das jetzt mal abgespeichert und dann getestet :D
Vielen vielen Danke :b
Beitrag zuletzt geändert: 10.10.2013 12:47:24 von mcmaxi2011hd -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage