unexpected T_STRING

palatica

Mitglied
Guten Morgen Leute,

habe da ein Problem, welches ich nicht n den Griff bekomme.
Es geht um folgende Fehlermeldung:
Parse error: syntax error, unexpected T_STRING in....

Es geht um folgenden Code:
PHP:
....
$anweisung = "SELECT * FROM $this->tab;";
$ergebnis = mysql_query($anweisung) or die mysql_error();
$zeilen = mysql_num_rows($ergebnis);
....

habe die ganze Klasse durchgeschaut ob ich irgendwo ein Zeichen vergessen habe, aber nicht gefunden.

die Variable $tab ist als private deklariert. die Funktion die zum Code gehört ist public.

Habe auch andere ähnliche Klassen dursucht, nach einem Unterschied aber auch hier Fehlanzeige.

Wäre über einen Tip sehr froh.


Gruß,
Palatica
 
Hi,

schreibs mal so:
PHP:
$anweisung = 'SELECT * FROM `'.$this->tab.'`';
if( !$ergebnis = mysql_query($anweisung) )
{
    echo mysql_error();
}
 
Ich vermute er wollte die Zeile im Forum als Fett markieren, was im [ PHP ]-Tag nicht funktioniert, sondern im [ CODE ]-Tag.
 
PHP:
class Mijak
 {

private $tab="mijak";

public function  __construct($host,$user,$pw="",$db) {

mysql_connect($host,$user,$pw) or die ("Keine Verbindung moeglich");
mysql_select_db($db) or die ("Die Datenbank existiert nicht");
  }

public function  __destruct() {mysql_close();}



public function parser($string)
{
$trans = array("Ð" => "A", "Б" => "B", "Ð’" => "V", "Г" => "G", "Д" => "D", "Ѓ" => "Gj", "Е" => "E", "Ж" => "Zh", "З" => "Z", "Ð…" => "Dz", "И" => "I", "Ј" => "J", "К" => "K", "Л" => "L", "Љ" => "Lj", "Ðœ" => "M", "Ð" => "N", "Њ" => "Nj", "О" => "O", "П" => "P", "Ð" => "R", "С" => "S", "Т" => "T", "ÐŒ" => "Kj", "У" => "U", "Ф" => "F", "Ð¥" => "H", "Ц" => "C", "Ч" => "Ch", "Ð" => "Dzh", "Ш" => "Sh",
 "а" => "a", "б" => "b", "в" => "v", "г" => "g", "д" => "d", "Ñ“" => "gj", "е" => "e", "ж" => "zh", "з" => "z", "Ñ•" => "dz", "и" => "i", "ј" => "j", "к" => "k", "л" => "l", "Ñ™" => "lj", "м" => "m", "н" => "n", "Ñš" => "nj", "о" => "o", "п" => "p", "Ñ€" => "r", "Ñ" => "s", "Ñ‚" => "t", "Ñœ" => "kj", "у" => "u", "Ñ„" => "f", "Ñ…" => "h", "ц" => "c", "ч" => "ch", "ÑŸ" => "dzh", "ш" => "sh");
return strtr($string, $trans);
}


public function last()
{

$anweisung = "SELECT * FROM ".$this->tab;
if( !$ergebnis = mysql_query($anweisung) )
{
    echo mysql_error();
}  

$zeilen = mysql_num_rows($ergebnis);
$anzahl = $zeilen-5;

$anweisung = "SELECT mk FROM ".$this->tab." LIMIT $anzahl,5";
$ergebnis = mysql_query($anweisung);

echo "<p class=\"klein\"><span class=\"dick\">LAST 5 words</span><br/>\n";
while($row = mysql_fetch_object($ergebnis))
    {
printf("%s<br/>\n",$row->kirilica);
    }
	echo "</p>";
}


Mit der Funktion last will ich die letzten 5 Eiträge anzeigen lassen.
Sollte es eine leichtet, elegantere Lösung geben, wäre ein Tip gut.

habe in der anderen Version ohne Konstruktor gearbeitet und in jeder Funktion die Datenbankverbindung neu gemacht.
 
meines Wissens nach erfordert die() den Ausgabewert in Klammern.
PHP:
$ergebnis = mysql_query($anweisung) or die (mysql_error());
 
Der Vorschlag / Tip von Loomes hat bewirkt, dass ich zumindest keine Fehlermeldung mehr bekomme. Es werden aber auch keine Einträge aus der DB angezeigt. :(
 
Zurück