Seltsamer Fehler: "Fatal error: [] operator not supported for strings"

sluggish

Mitglied
Hi,

ich habe seitdem ich meinen Server neu installiert habe einen komischen Fehler in meinem PHP Script.

Fatal error: [] operator not supported for strings in .../news.php on line 319

Die betreffenden Zeilen sehen so aus (Ich fange mal etwas weiter vorne an.) =>

PHP:
284: while($row = mysql_fetch_assoc($query)) {
285: $limit--;
286: $id[] = $row['id'];
287: $title = RewriteTitle($row['title']);
288:  echo 'blablubb';
289: }

Wie gesagt, hat es vorher noch funktioniert.

Hat jemand einen Lösungsansatz?

MfG
Sluggish
 
Wieso? :confused:
Die von dir geposteten Zeilen können den Fehler nicht verursachen - anderen Falls ist da was ganz Faul.

Ich habe die nur aus Erfahrung gepostet, weil das ja häufig bei PHP so ist, dass die Zeilenangaben falsch sind ;)

Ich benutze PHP Version 5.2.0-8.

Habe mein Backup wieder aufgespielt, weil mir einiges auf die Nerven ging. Aber der Fehler ist doch noch. An der Datei ist nichts gemacht worden.

MfG
Sluggish
 
Ich habe die nur aus Erfahrung gepostet, weil das ja häufig bei PHP so ist, dass die Zeilenangaben falsch sind ;)
Ein Fehler wird zwar ab und an an anderer Stelle verursacht, die angezeigte Zeile ist dann aber doch die wo der Fehler auch Auftritt.
Ich kann also keineswegs sagen dass PHP einem da versucht einen Baeren aufzubinden in Sachen Zeilennummer.
Es kann schonmal verwirrend werden wenn man mit Funktionen oder Klassen arbeitet, da der Fehler oft ausserhalb der Funktion/Klasse entsteht aber eben innerhalb der Funktion/Klasse gemeldet wird. Aber auch hier kommt man durch einen Backtrace ganz leicht zum Ursprung des Problems.
 
Auch wenn PHP alles andere als Typensicher ist: Hast du die Variable $id zuvor als Array definiert?
Vielleicht schmeckt ihm das in Ausnahmefällen ja nicht, auch wenn ich mir das nicht so Recht vorstellen kann. :confused:

Wenn das nicht hilft, muss der Fehler an einer anderen Stelle verursacht werden.
 
So es geht jetzt wieder. Habe die Variable nicht als Array definiert.
Aber vorher hat es ja auch funktioniert.
Naja, nichts für ungut.

Danke nochmals.

MfG
Sluggish
 
PHP:
<?
$str = 'foo';
$str[] = 'bar';
print_r($str);
?>
erzeugt bei mir den gleichen Fehler:
Fatal error: [] operator not supported for strings in D:\Programme\xampp\htdocs\test.php on line 3

So viel zur typensicherheit. Wenn also schon was in der Variable drin steht, will der array operator nicht mehr.
Irgendwo muss dein $id also mit einem String initialisiert sein.
Wenn du dein System neu aufgesetzt hast, vllt ist ja register globals an und du übergibst deinem Script eine id als Url-Parameter?! Nich wahrscheinlich aber möglich...
 
Zurück