Cannot use string offset as an array

Alles, was PHP betrifft, kann hier besprochen werden.

Cannot use string offset as an array

Postby Mephisto » 12. January 2005 19:36

Hallo!

Ich habe ein kleines Problem, dass mir noch nie begegnet ist.

Und zwar hab ich eine Seite bei der ein Formular ausgefüllt wird (zum Eintragen eines neuen Members). Nach Abschicken des Formulars sollen die Informationen gespeichert werden.

Weiterhin gibt es in dem Formular 2 Select Liste, deren inhalt aus einer entsprechenden Tabelle abefragt wird.

Beim erstmaligen Laden der Seite wird alles perfekt anzeigt (zum Testen hab ich das Speichern erst einaml herausgenommen).
Wird aber auf "Absenden" geklickt, wird die seite ja neu geladen, allerdings kann er dann auf einmal die Select Liste nicht mehr darstellen un er sagt mir den Fehler:

Cannot use string offset as an array


Da ich diesen Fehler noch nie gesehen habe, kann ich damit leider nichts anfangen. Vielleicht kann mir ja jemaand helfen. Ich war auch brav und hab schon gesearched im Forum :)

Mfg Mephisto
Mephisto
 
Posts: 7
Joined: 12. January 2005 18:21

Postby Wiedmann » 12. January 2005 19:46

Cannot use string offset as an array

Wie wärs mit einer vollständigen Fehlermeldung inkl. der Codezeile die da genannt wird...
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Mephisto » 12. January 2005 20:05

Fatal error: Cannot use string offset as an array in C:\apachefriends\xampp\xampp\htdocs\www\admin_new_member.php on line 70


Und der Auszug aus dem Skript:
Code: Select all
<select name="squad">
<?php
$sql = "SELECT * FROM $table[1]";

$result = mysql_query($sql,$link);

for($i=0;$i<mysql_num_rows($result);$i++)
{
$squad[$i] = mysql_fetch_array($result);
echo "<option value=\"".$squad[$i]['squad_id']."\">".$squad[$i]['squad_name']."</option>\n";
}


die vorletze Zeile (echo "<option....") ist die Zeile 70.

Die Datenbankverbind wird in einer externen Verbindung aufgebaut
Mephisto
 
Posts: 7
Joined: 12. January 2005 18:21

Postby sys » 12. January 2005 23:36

wie sieht den $result aus.

mach mal ein print_r($result) und sieh nach, ob da ein mehrdimensionales array drinnen steht.
sys
 
Posts: 14
Joined: 15. December 2004 18:29

Postby Wiedmann » 13. January 2005 16:12

mach mal ein print_r($result) und sieh nach, ob da ein mehrdimensionales array drinnen steht.

In $ressult kann kein Array drin sein:
--> $ressult ist etweder vom Typ Ressource oder Binary FALSE.

Und der Auszug aus dem Skript:

Hmm. Sollte eigentlich funktionieren...
Wüsste gerade auch gar nicht wie man diesen Fehler sonst reproduziert *grübel*

Benutzt du einen Beschleuniger wie MMCache oder Zend Optimizer? Wenn Ja, welche Version davon und von PHP? (Teste es auf jeden Fall mal ohne)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Mephisto » 13. January 2005 19:24

Hm hab nur das XAMPP

auf jeden fall funktioniert es online auf meinem Webspace.

WIe Kann ich denn die einstellungen (z.b. php.ini) von meinem webspace runterladen und in mein xampp einbinden? dann müsste es ja funktionieren oder?

sorry für falsches forum, dachte am anfang es liegt an sql
Mephisto
 
Posts: 7
Joined: 12. January 2005 18:21

Postby Wiedmann » 13. January 2005 19:50

Hm hab nur das XAMPP

Neu installiert oder update?

auf jeden fall funktioniert es online auf meinem Webspace.

Schön :-) ansonsten uninteressant.... Du willst es ja lokal haben.

Zudem funktioniert dein kurzer Codeausschnitt bei mir auf einem jungfräulichen XAMPP ohne Probleme.

WIe Kann ich denn die einstellungen (z.b. php.ini) von meinem webspace runterladen und in mein xampp einbinden? dann müsste es ja funktionieren oder?

Gar nicht. Du kannst sie nur mit phpinfo() auslesen und lokal in die "php.ini" von Hand eintragen. (Es sei denn du hast einen RootServer). Direkt die Onlineversion kann man aber eh nicht übernehmen (stimmen die Pfade und auch vorhandene Module nicht unbedingt überhein. Ganz zu schweigen von der PHP-Version an sich).
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Mephisto » 14. January 2005 16:13

Naja hab die neueste Version von xampp ruintergeladen und installiert.

Hab jetzt mal eine E-Mail an meinen Provider geschickt ob ich irgendwie an die php.ini rankommen.

Dass dumme ist dass ich mir überhaupt nicht vorstellen kann was daran nicht funktionieren kann :(

trotzdem danke für eure Hilfe :) werds weiter probieren

kann sich jemand vorstellen dass es was mit den Register Globals zu tun hat?
Mephisto
 
Posts: 7
Joined: 12. January 2005 18:21

Postby Mephisto » 14. January 2005 18:02

Hab ein ähnliches Topic gefunden

Anscheinend liegt es an PHP 5

versteh das topic aber leider nich.

hier der Link:

http://www.php-resource.de/forum/showthread.php?s=e5da308cbf9ac7469c5732752f6f3844&threadid=42181&perpage=10&pagenumber=2
Mephisto
 
Posts: 7
Joined: 12. January 2005 18:21

Postby Mephisto » 14. January 2005 21:09

Es funktioniert jetzt:

Die Lösung war die Variablen denen nachher die Abfrageergebnisse zugewiesen werden (mit mysql_fetch_array) werden vorher mit $var = array() explizit als Array initialisiert.

Ansonsten würde es bei keinem ergebnis als string aufgefasst

irgendwie sowas.

auf jeden fall ne lösung auf ein problem :)
Mephisto
 
Posts: 7
Joined: 12. January 2005 18:21


Return to PHP

Who is online

Users browsing this forum: No registered users and 18 guests