Foros del Web » Programando para Internet » PHP »

porque no me funciona esta concatenacion

Estas en el tema de porque no me funciona esta concatenacion en el foro de PHP en Foros del Web. Hola la consulta esta bien porque la compruebo con valores fijos y funciona pero al hacer la concatenacion me da error muestro la linea de ...
  #1 (permalink)  
Antiguo 11/08/2011, 17:00
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 12 años, 11 meses
Puntos: 10
porque no me funciona esta concatenacion

Hola la consulta esta bien porque la compruebo con valores fijos y funciona pero al hacer la concatenacion me da error muestro la linea de error:
Código PHP:
Ver original
  1. <?php
  2. $sql="SELECT ciudad.ciudades
  3. FROM ciudad
  4. WHERE  ciudad.ciudad_id=".$_GET["id"]."
  5. AND ciudad.ciudades='".$_GET["ciudades"]."'";
  6. ?>

El id es un numero y ciudades letras, alguna ayuda, saludos.
  #2 (permalink)  
Antiguo 11/08/2011, 17:07
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: porque no me funciona esta concatenacion

Haz verificado los valores que traen las variables ID y ciudades? Trata imprimir la variable $sql antes de hacer la consulta y verifica si tiene algun error.
  #3 (permalink)  
Antiguo 11/08/2011, 17:16
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: porque no me funciona esta concatenacion

Se supone que debemos adivinar el error?
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #4 (permalink)  
Antiguo 11/08/2011, 17:16
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 12 años, 11 meses
Puntos: 10
Respuesta: porque no me funciona esta concatenacion

comprobe la consuta con valores fijos con phpmyadmin y me dio ok, y tambien mostre en pantalla los datos por $_GET y tambien me dio correcto.
Tengo bien la concatenacion?
  #5 (permalink)  
Antiguo 11/08/2011, 17:20
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 12 años, 11 meses
Puntos: 10
Respuesta: porque no me funciona esta concatenacion

perdonar muestro las lineas de error:

Undefined index: id in C:\wamp\www\clientes\form.php on line 50

Undefined index: ciudades in C:\wamp\www\clientes\form.php on line 51
  #6 (permalink)  
Antiguo 11/08/2011, 17:47
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 12 años, 11 meses
Puntos: 10
Respuesta: porque no me funciona esta concatenacion

Hola bueno resulta que la concatenacion esta bien y el codigo me funciona bien lo que pasa que al cargar la pagina me salen estos errores hasta que no elijo una opcion del formulario no se quitan. Como puedo hacer que no salgan estos errores?
  #7 (permalink)  
Antiguo 11/08/2011, 17:54
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: porque no me funciona esta concatenacion

Está claro que no se están pasando correctamente esas variables vía $_GET verifica el formulario.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #8 (permalink)  
Antiguo 11/08/2011, 18:00
Avatar de jamesjara  
Fecha de Ingreso: mayo-2008
Ubicación: san jose
Mensajes: 449
Antigüedad: 15 años, 11 meses
Puntos: 7
Respuesta: porque no me funciona esta concatenacion

Cita:
Iniciado por pithon Ver Mensaje
Hola bueno resulta que la concatenacion esta bien y el codigo me funciona bien lo que pasa que al cargar la pagina me salen estos errores hasta que no elijo una opcion del formulario no se quitan. Como puedo hacer que no salgan estos errores?
Amigo lo que pasa es que tienes MODO ESTRICTO tu configuracion de php , lo que ves son NOTICE no ERROR asi que son noticias de que no tienes definido tus variables.. Y aqui hablamos de la variable en si..

Solucion MALA 1: agrega @ antes de la variable para no mostrar mensajes de erores o noticas No la utilices aqui , te cuento para que aprendas
Código PHP:
    <?php
    $sql
="SELECT ciudad.ciudades
    FROM ciudad
    WHERE  ciudad.ciudad_id="
.@$_GET["id"]."
    AND ciudad.ciudades='"
.@$_GET["ciudades"]."'";
    
?>
Solucion CORRECTA 2: define las variables en null primero.. pero como en este caso estas llamando una variable GET debes no puedes definirla pero si comprobarla con ISSET http://php.net/manual/es/function.isset.php
Código PHP:
    <?php
if (isset($_GET["id"])and($_GET["ciudades"])){
    
$sql="SELECT ciudad.ciudades
    FROM ciudad
    WHERE  ciudad.ciudad_id="
.$_GET["id"]."
    AND ciudad.ciudades='"
.$_GET["ciudades"]."'";
} else {
die(
'faltan parameetros');
}
    
?>
Si lo quieres mas elegante:
Código PHP:
    <?php
     $continue 
true;            
     
$var1 = isset($_GET['id'])     ? $_GET['id'] : $continue false ;    
     
$var2 = isset($_GET['ciudades'])     ? $_GET['ciudades'] : $continue false ;    
     
      if (
$continue==true){

    
$sql="SELECT ciudad.ciudades FROM ciudad   WHERE  ciudad.ciudad_id=".$var1"  AND ciudad.ciudades='".$var2."'";

      }else {
      die(
'faltan parameetros');
      }

    
?>
pd: informate de SQL INJECTION
__________________
X7CLOUD El webservice latino!
Compatible
con mysql,sql,sqlitte.
Compatible con extjs , sencha , smargwt, Gwt , Jquery , Charts, Streaming.
  #9 (permalink)  
Antiguo 12/08/2011, 01:16
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 12 años, 11 meses
Puntos: 10
Respuesta: porque no me funciona esta concatenacion

jamesjara gracias era eso que no existen esos valores a cargar la pagina lo solucione como me dijistes, saludos.

Etiquetas: sql
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 03:30.