[PHP] fatal error

ottscho

Well-known member
24 April 2006
188
3
Morgen zusammen,

ich erhalte folgende fehlermeldung:

Code:
Fatal error: [] operator not supported for strings in /opt/lampp/htdocs/smarty/btu/index.php on line 26

hier der code
Code:
21//Menue
22$abfrage = "SELECT bez, link FROM menue WHERE navigation_id = $nav";
23$ergebnis = mysql_query($abfrage);
24while ($row = mysql_fetch_assoc($ergebnis))
25{
26  $menue[] = $row;
27}

kann mir jmd sagen, wie ich es dann zu schreiben habe?

danke
mfg

ottscho
 
@justme69
bei deinem lösungsweg ist ja der der sinn des array, welche ich benötige nicht mehr gegeben. ich möchte ja bez undd link im array haben.

@ABC
leider bekomme ich damit die selbe meldung?
das komische ist, dass es unter winxp + xampp ohne fehler geht und mit ubuntu + lampp kommt der genannte fehler. ich kann es mir nicht erklären :(
 
tleilax schrieb:
Hast Du vorher irgendwo sowas wie $menue = 'foobar'; definiert?

nein, warum brauche ich dies?

soll ich mal den quellext von der kompletten index.php posten?
 
Zuletzt bearbeitet:
Stelle das Error-Reporting mal auf E_ALL, dann wirst du dir schnell angewöhnen, Variablen immer zu initialisieren!
PHP:
// Menü
$abfrage = 'SELECT bez, link FROM menue WHERE navigation_id = '.$nav;
$ergebnis = mysql_query($abfrage);
$menue = array();
while ($row = mysql_fetch_assoc($ergebnis)) {
    $menue[] = $row;
}
BTW: Woher kommt $nav? Sollte es vom User kommen, solltest du dich dringend mal über SQL-Injections schlau machen!

Gruß,
Xgame
 
Zuletzt bearbeitet:
@xgamer
danke

also das mit dem initialisieren hat irgendwie nicht geklappt.
hab es nun so versucht:
Code:
//Menue
$menue= 'menue';
$abfrage = "SELECT bez, link FROM menue WHERE navigation_id = $nav";
$ergebnis = mysql_query($abfrage);
while ($row = mysql_fetch_assoc($ergebnis))
{
  $menue[] = array($row);
}

das $nav kommt vom user. aber wir benutzen modrewrite, da erkennt man ja nicht genau welche parameter für welche variable ist. aber ich werde die variablen noch überprüfen.

hab ich nun mit dem Menue code irgendwas falsch geschrieben, oder nur einen denkfehler. es geht auf jeden fall nicht.
 
sorry, hab dein post nicht richtig gelesen *lol*
jetzt geht alles.

danke nochmals
 
axso meinste das du willst ein mutlisdimensionales Array erstellen.

Dann musst du mit einer foreach key as element Schleife hergehen. So würde ich das machen.

Schau dir einfach das an:

PHP:
while ($row = mysql_fetch_assoc($ergebnis)) { 
reset ($row);
while (list($key, $value) = each ($row)) {
   $meunue[][$key] =  $value;
}
}
 
Zuletzt bearbeitet:
also ich habe es jetzt so und es funktioniert einwandfrei
Code:
// Menü
$abfrage = 'SELECT bez, link FROM menue WHERE navigation_id = '.$nav;
$ergebnis = mysql_query($abfrage);
$menue = array();
while ($row = mysql_fetch_assoc($ergebnis)) {
    $menue[] = $row;
}

danke
 
Zuletzt bearbeitet: