Entra

View Full Version : [PHP] Cannot use string offset as an array


postgres
11-12-2009, 10:38
Ho un grosso problema con questo Fatal error che mi da php.
Il fatto è che a volte mi da l'errore a volte funziona tutto correttamente.

Ho cercato guardando su google e ho trovato questo sito:
http://informationideas.com/news/2006/06/14/fatal-error-cannot-use-string-offset-as-an-array-in/
ma non ci ho ricavato molto.
Ho provato
dichiarando le variabili coinvolte come array() ma l'errore si ripresenta lo stesso.

il codice è questo:

$friend_list =array();
$friend_list = $facebook->api_client-> friends_get();
$MAX = count($friend_list);
//echo "<br><br>$MAX<br>";
$user_details = $facebook->api_client->users_getInfo($friend_list, 'name');

for ($i = 0; $i <=$MAX-1; $i++ ) {
$fid =array();
$fname =array();
$fid = $friend_list[$i];
$fname = $user_details[$i]['name'];
$fname = addslashes($fname);
//echo"<br> name: " ,$fname;

$aquery = mysql_query ("INSERT INTO friend ( owner, idfriend, namefriend) VALUES ('$user_id' , '$fid','$fname')");

if (!$aquery) {
die(' <br> amici Non va: ' . mysql_error());

}

}


l'errore me lo da qui: $fid = $friend_list[$i];

cosa devo fare?
Aiutatemi
Grazie!

flx2000
11-12-2009, 13:17
Ma per caso l'errore te lo dà solo quando la friend_list è vuota?
D'altronde, al posto di "<=$MAX-1" sarebbe più logico utilizzare "<$MAX", che produce lo stesso effetto, ma non entra nel ciclo se l'array friend_list è vuoto (ovvero $MAX è 0).

postgres
12-12-2009, 16:07
Non è mai vuota la friend list! Quindi dici di cambiare quella cosa del MAX?