Foros del Web » Programando para Internet » PHP »

Cannot use a scalar value as an array

Estas en el tema de Cannot use a scalar value as an array en el foro de PHP en Foros del Web. Hola buenas tardes tengo un script que me hace consultas en SQL Server y los valores arrojados por las consultas son guardados en un arreglo ...
  #1 (permalink)  
Antiguo 26/06/2009, 12:36
 
Fecha de Ingreso: febrero-2008
Mensajes: 133
Antigüedad: 16 años, 2 meses
Puntos: 0
Exclamación Cannot use a scalar value as an array

Hola buenas tardes tengo un script que me hace consultas en SQL Server y los valores arrojados por las consultas son guardados en un arreglo bidimensional cuyas dimensiones crecen en funcion de los datos arrojados por la consulta y a su vez por la cantidad de consultas que elija el usuario utilizar es decir puede ser 1 o puede ser n, ya en un momento funcionó a la perfección pero ahora me arroja el error de que no puedo asignar un valor escalar a un arreglo, seguido les envio una parte de mi codigo con una de las consultas que el usuario podría elegir a ver si me pueden ayudar muchas gracias de antemano


Código PHP:
if((isset($_GET['city']))&&($_GET['city']!=0))
        {
            
$cit=$_GET['city'];
            
$sele="SElect CustomerID from moyaa.Customers where CityId like '$cit' order by CustomerName";
            
$sql=mssql_query($sele,$conectid);
            
$i=0;
            while(
$resul=mssql_fetch_array($sql))
            {
                
$id[$j][$i++]=$resul[0];// es en esta linea donde me da el error de la posible inclusion de un valor escalar
            
}
            
$j++;
        } 
  #2 (permalink)  
Antiguo 26/06/2009, 12:49
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Cannot use a scalar value as an array

Cita:
Iniciado por angelmf Ver Mensaje
Hola buenas tardes tengo un script que me hace consultas en SQL Server y los valores arrojados por las consultas son guardados en un arreglo bidimensional cuyas dimensiones crecen en funcion de los datos arrojados por la consulta y a su vez por la cantidad de consultas que elija el usuario utilizar es decir puede ser 1 o puede ser n, ya en un momento funcionó a la perfección pero ahora me arroja el error de que no puedo asignar un valor escalar a un arreglo, seguido les envio una parte de mi codigo con una de las consultas que el usuario podría elegir a ver si me pueden ayudar muchas gracias de antemano


Código PHP:
if((isset($_GET['city']))&&($_GET['city']!=0))
        {
            
$cit=$_GET['city'];
            
$sele="SElect CustomerID from moyaa.Customers where CityId like '$cit' order by CustomerName";
            
$sql=mssql_query($sele,$conectid);
            
$i=0;
            while(
$resul=mssql_fetch_array($sql))
            {
                
$id[$j][$i++]=$resul[0];// es en esta linea donde me da el error de la posible inclusion de un valor escalar
            
}
            
$j++;
        } 
Prueba a sustituir tu linea

Código PHP:
$id[$j][$i++]=$resul[0]; 
por esta otra

Código PHP:
$id[$j][$i]=$resul[0];
$i++; 
No vaya a ser que no se pueda pasar como indice de un array una operación de tipo $i++

saludos!
  #3 (permalink)  
Antiguo 26/06/2009, 13:19
 
Fecha de Ingreso: febrero-2008
Mensajes: 133
Antigüedad: 16 años, 2 meses
Puntos: 0
Exclamación Respuesta: Cannot use a scalar value as an array

Ese no es el problema yo lo intente y sigue el error de hecho esa misma la utilizo en la misma pagina para otras cosas y funciona perfecto, alguna otra idea? muchas gracias
  #4 (permalink)  
Antiguo 26/06/2009, 13:24
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Cannot use a scalar value as an array

Cita:
Iniciado por angelmf Ver Mensaje
Ese no es el problema yo lo intente y sigue el error de hecho esa misma la utilizo en la misma pagina para otras cosas y funciona perfecto, alguna otra idea? muchas gracias
Ahora que me fijo veo que por ningún lado inicializas la variable $j así que en la primera pasada del while $j es null, intenta setearla a cero antes del while.

No estaría tampoco de mas que inicialices el $id así

Código PHP:
$id = array(); 
Tambien antes del while.

Saludos!
  #5 (permalink)  
Antiguo 26/06/2009, 13:43
 
Fecha de Ingreso: febrero-2008
Mensajes: 133
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Cannot use a scalar value as an array

Bueno si la variable si esta preseteada en 0 pero no lo habia mostrado creo que el hecho de definir id arreglo todo aunque aun no estoy bien decidido de que ese haya sido el problema hasta donde sabia en php no es necesario predefinir las variables antes de usarlas, muchas gracias por tu ayuda amigo, saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:33.