Foros del Web » Programando para Internet » PHP »

El codigo esta bien pero... lo de siempre no va

Estas en el tema de El codigo esta bien pero... lo de siempre no va en el foro de PHP en Foros del Web. Buenas a todos vereis tengo esta consulta para hacer una comprobación pero me da error , he comprobado que los nombres estuvieran bien por tema ...
  #1 (permalink)  
Antiguo 01/08/2006, 04:16
Avatar de Expinete  
Fecha de Ingreso: abril-2006
Ubicación: Zaragoza
Mensajes: 236
Antigüedad: 11 años, 8 meses
Puntos: 3
El codigo esta bien pero... lo de siempre no va

Buenas a todos vereis tengo esta consulta para hacer una comprobación pero me da error , he comprobado que los nombres estuvieran bien por tema de erratas y tal pero el caso es que no va y no se por que.
Esto lo tengo en una página de validacion de un formulario y he comprobado que me llega perfectamente la información lo que no sé es porque no funciona.

Código PHP:
$result2=mysql_query("SELECT * FROM Entidades WHERE Nombre = ".$_POST['variableChar']." AND Codigo = ".$_POST['variableInt']);
while (
$row2 mysql_fetch_array($result2)){
echo(
"todo bien");

  #2 (permalink)  
Antiguo 01/08/2006, 04:25
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 11 años, 5 meses
Puntos: 0
La variable char en la consulta debe ir entre comillas simples.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #3 (permalink)  
Antiguo 01/08/2006, 04:29
 
Fecha de Ingreso: mayo-2004
Ubicación: Barcelona
Mensajes: 200
Antigüedad: 13 años, 7 meses
Puntos: 0
Editado
----------
acabo de darme cuenta que te has dejado las comillas dobles " alfinal del query

----------
Hola

prueba a recoger primero las variables que recibes por POST

Código PHP:
$var1 $_POST['variableChar'];
$var2 $_POST['variableInt'];

$result2=mysql_query("SELECT * FROM Entidades WHERE Nombre = '$var1' AND Codigo = '$var2'");
while (
$row2 mysql_fetch_array($result2)){
echo(
"todo bien");

Salud2,
  #4 (permalink)  
Antiguo 01/08/2006, 04:45
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 11 años, 5 meses
Puntos: 0
Cita:
Iniciado por fido85
Editado
----------
acabo de darme cuenta que te has dejado las comillas dobles " alfinal del query

----------
Hola

prueba a recoger primero las variables que recibes por POST

Código PHP:
$var1 $_POST['variableChar'];
$var2 $_POST['variableInt'];

$result2=mysql_query("SELECT * FROM Entidades WHERE Nombre = '$var1' AND Codigo = '$var2'");
while (
$row2 mysql_fetch_array($result2)){
echo(
"todo bien");

Salud2,
Si te fijas la segunda variable dice q es Int, así q si el campo Codigo es integer no necesita las comillas simples en ese campo.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #5 (permalink)  
Antiguo 01/08/2006, 04:56
Avatar de Expinete  
Fecha de Ingreso: abril-2006
Ubicación: Zaragoza
Mensajes: 236
Antigüedad: 11 años, 8 meses
Puntos: 3
Pos va a ser que no...:P

A ver xicos la cosa es que asi no funcionará nunca porque si metemos todo dentro de comillas dobles lo toma todo como un string y no ve las variables php.
Asi que ... sigo buscando la solución 'tonta' que se me resiste.
Pero gracias por vuestro tiempo
  #6 (permalink)  
Antiguo 01/08/2006, 04:59
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 11 años, 5 meses
Puntos: 0
Código PHP:
$result2=mysql_query("SELECT * FROM Entidades WHERE Nombre = '".$_POST['variableChar']."' AND Codigo = ".$_POST['variableInt']); 
A esto es a lo que yo me refería con lo de las comillas simples.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #7 (permalink)  
Antiguo 01/08/2006, 05:01
Avatar de Expinete  
Fecha de Ingreso: abril-2006
Ubicación: Zaragoza
Mensajes: 236
Antigüedad: 11 años, 8 meses
Puntos: 3
Si ya lo se, pero que tampoco :P que ya lo había probado ;) pero que muchas gracias de verdad.
  #8 (permalink)  
Antiguo 01/08/2006, 05:04
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años, 1 mes
Puntos: 1
Código PHP:
$result2=mysql_query("SELECT * FROM Entidades WHERE Nombre = '".$_POST['variableChar']."' AND Codigo = '".$_POST['variableInt']."'"); 
__________________
ALOZORRO v5.0 (ahora en .es)
  #9 (permalink)  
Antiguo 01/08/2006, 05:04
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años, 1 mes
Puntos: 1
por cierto. .que error te da???
__________________
ALOZORRO v5.0 (ahora en .es)
  #10 (permalink)  
Antiguo 01/08/2006, 05:07
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 11 años, 5 meses
Puntos: 0
Bueno, y q clase de error te da? Q estructura tiene la tabla Entidades? Quizás con más información se vea la raiz del problema xq está claro q el código es correcto o lo parece aunque igual puedes probar a sacar los resultados por filas en lugar de arrays o por separado pero dudo q eso sacara el problema fuera...

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #11 (permalink)  
Antiguo 01/08/2006, 05:17
Avatar de Expinete  
Fecha de Ingreso: abril-2006
Ubicación: Zaragoza
Mensajes: 236
Antigüedad: 11 años, 8 meses
Puntos: 3
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

Ese es el error que me da y la estructura de la tabla es simplemente Nombre varchar(45) y Codigo int(10)
  #12 (permalink)  
Antiguo 01/08/2006, 05:19
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 13 años, 1 mes
Puntos: 1
puff.. ni idea.. yo el codigo lo veo bien...
__________________
ALOZORRO v5.0 (ahora en .es)
  #13 (permalink)  
Antiguo 01/08/2006, 05:20
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 11 años, 5 meses
Puntos: 0
Prueba a poner:

Código PHP:
$sql="SELECT * FROM Entidades WHERE Nombre = '".$_POST['variableChar']."' AND Codigo = ".$_POST['variableInt']); 
echo 
$sql."<br>"//Para ver si la consulta es correcta
$result2=mysql_query($sql);
if (!
$result2) {
    echo 
"Error en la consulta. El error fue: ".mysql_error()."<br>";
} else {
    while (
$row2 mysql_fetch_array($result2)){ 
         echo(
"todo bien"); 
    }  

Es q según el error algo falla en la consulta y por eso no muestra resultados.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #14 (permalink)  
Antiguo 01/08/2006, 05:22
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 16 años, 3 meses
Puntos: 380
Hola
Cita:
Iniciado por Expinete
A ver xicos la cosa es que asi no funcionará nunca porque si metemos todo dentro de comillas dobles lo toma todo como un string y no ve las variables php.
Huy, no te equivoques, por supuesto que lee las variables dentro de una cadena encerrada entre comillas dobles (entre simples no, pero entre dobles sí las lee)

Prueba la sentencia que te sugiere djreficul pero agrégale la comilla doble que falta al final

$result2=mysql_query("SELECT * FROM Entidades WHERE Nombre = '".$_POST['variableChar']."' AND Codigo = ".$_POST['variableInt']");

Un saludo
  #15 (permalink)  
Antiguo 01/08/2006, 05:23
Avatar de Expinete  
Fecha de Ingreso: abril-2006
Ubicación: Zaragoza
Mensajes: 236
Antigüedad: 11 años, 8 meses
Puntos: 3
Bueno seguire a ver si lo encuentro, volvere a repasar los nombres por si aca
que seguro que sera algo de eso.
Muchas gracias por vuestras respuestas
  #16 (permalink)  
Antiguo 01/08/2006, 05:25
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 11 años, 5 meses
Puntos: 0
Cita:
Iniciado por tunait
Hola
Prueba la sentencia que te sugiere djreficul pero agrégale la comilla doble que falta al final

$result2=mysql_query("SELECT * FROM Entidades WHERE Nombre = '".$_POST['variableChar']."' AND Codigo = ".$_POST['variableInt']");

Un saludo
No sé para qué necesita unas comillas dobles al final si está concatenando la variable. Eso daría un parse error unexpected " (más bien unexpected ;) creo yo, eh?

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #17 (permalink)  
Antiguo 01/08/2006, 05:44
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 16 años, 3 meses
Puntos: 380
Cita:
Iniciado por djreficul
No sé para qué necesita unas comillas dobles al final si está concatenando la variable. Eso daría un parse error unexpected " (más bien unexpected ;) creo yo, eh?

Saludos.
Ups, tienes razón, no me había fijado que era numérica la última thanx por la corrección
  #18 (permalink)  
Antiguo 01/08/2006, 06:48
 
Fecha de Ingreso: junio-2006
Mensajes: 87
Antigüedad: 11 años, 5 meses
Puntos: 0
Por si acaso, comprueba que mayusculas y minusculas sean iguales en los nombres de los compos y tabla...

Por dar alguna idea...
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 19:08.