No se puede acceder al desplazamiento de tipo cadena en cadena... ¿Qué demonios?

ephelya Mensajes publicados 296 Estado Miembro -  
ephelya Mensajes publicados 296 Estado Miembro -
Hola,

Tengo una función php (llamada por ajax) que me envía este mensaje de error (Cannot access offset of type string on string) y no entiendo de dónde viene... ¡Ayuda!
Aquí está la llamada a mi función
 if ($flwprosp) { $result = flwprosp($flwprosp, $civilite, $iduser, $nrp, $tel, $mail, $nom, $prenom, $adresse, $cpostal,$ville, $where, $date, $comment, $nextact, $noway, $debug); } </code Aquí están los datos que se reciben <code php> Array ( [flwprosp] => 2151300759 [nrp] => 1 [civilite] => Mme [iduser] => baa9188a-0dd0-4f50-aaab-65e421cca195 [tel] => tel [mail] => mail [nom] => nom [prenom] => prenom [adresse] => adress [cpostal] => 00000 [ville] => ville [where] => splae [date] => 23/06/12:00 [comment] => eer [nextact] => 5 [noway] => 1 [debug] => 1 ) 


y aquí está mi función
 function flwprosp($idplace, $civilite, $iduser, $nrp, $tel, $mail, $nom, $prenom, $adresse, $cpostal,$ville, $where, $date, $comment, $nextact, $noway, $debug) { echo " flwprosp($idplace, $civilite, $iduser, $nrp, $tel, $mail, $nom, $prenom, $adresse, $cpostal,$ville, $where, $date, $comment, $nextact, $noway, $debug)"; if ($noway==1) { $client['statut'] = 4; } if ($nrp==1) { $client['statut'] = 3; } else { $client['statut'] = 2; } if ($nrp = 1) { $nextact = 7; } //actualizamos el bien $table = "Annonces"; $where["idlbc"] = $idplace; $place["adresse"] = $adresse; $place["cpostal"] = $cpostal; $place["ville"] = $ville; \Models\Admin::update($place, $table, $where, "", $debug); } 


Esto me dice

flwprosp(2151300759, Mme, baa9188a-0dd0-4f50-aaab-65e421cca195, 1, tel, mail, nom, prenom, adress, 00000,ville, splae, 23/06/12:00, eer, 5, 1, 1)
<br />
"Fatal error</b>: Uncaught TypeError: Cannot access offset of type string on string in /homepages/41/d736140878/htdocs/escalierb/admin/www/ajx/ajax.php:55"

Y la línea 55 es esta
 $where["idlbc"] = $idplace; 


Por lo que entiendo, hay un intento de acceder a un índice de un arreglo o algo así, sin embargo, el valor de $idplace es 2151300759, por lo que es un simple entero... ¿Qué me estoy perdiendo? ????
Gracias de antemano por tu ayuda, es una gran urgencia para mí...

Configuración: Macintosh / Firefox 99.0

4 respuestas

yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   Ambassadeur 1 588
 
Hola, el punto de partida sería compartir tu código completo.
Gracias por indicar el nombre de cada archivo que compartes.

¿Qué has asignado a
$where
antes de llamar a la función?
¿Has escrito este código?
¿Lo estás probando por primera vez?
0
yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   1 588
 
¿Qué intentas hacer en la línea 55?
¿Qué es este
$where["idlbc"]
?

¿Has intentado traducir el mensaje de error?
Para mí, dice "No se puede acceder a un desplazamiento de tipo cadena en una cadena".
Eso indica que no se permite usar un índice de tipo cadena ("idlbc") en una cadena ($where).

¿No está claro?
0
ephelya Mensajes publicados 296 Estado Miembro 2
 
Bueno, encontré mi respuesta sola, proviene de la actualización de mi hospedaje que ha pasado a php8, hay bastantes funciones en mis scripts que ya no le agradan en absoluto... ;-)
Así que para aquellos que tengan el mismo problema, la buena sintaxis es
 $where = ["list_id" => $idplace];
0
yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   1 588
 
Para terminar, ¿qué haces con el parámetro $where recibido por la función?
0
ephelya Mensajes publicados 296 Estado Miembro 2
 
Lo siento, no encuentro cómo poner en estado "Resuelto", cada vez me cuesta.
0
yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   1 588
 
Para poner en "resuelto": los
...
debajo de la pregunta inicial.
0
ephelya Mensajes publicados 296 Estado Miembro 2
 
Para responder a yg_be (¡gracias por tu ayuda!), sí, escribí este código y lo he utilizado cientos de veces. Lo único que ha cambiado es la versión de PHP de mi servidor... ;-)
¡Pero aquí hay un problema resuelto, gracias de todos modos!
0