Foros del Web » Programando para Internet » PHP »

variable en consulta ¿?¿?¿?¿?

Estas en el tema de variable en consulta ¿?¿?¿?¿? en el foro de PHP en Foros del Web. porfa ayudenme... q puede estar mal... ???? al correrlo me sale la pagina en blanco... no se si estara bien poner la variable $nombre_completo; en ...
  #1 (permalink)  
Antiguo 24/11/2004, 16:19
 
Fecha de Ingreso: noviembre-2004
Mensajes: 25
Antigüedad: 13 años, 1 mes
Puntos: 0
variable en consulta ¿?¿?¿?¿?

porfa ayudenme... q puede estar mal... ???? al correrlo me sale la pagina en blanco... no se si estara bien poner la variable $nombre_completo; en la consulta...
Denme una manito porfas...
Gracias
Salu2 a to2

Código PHP:
require("aut_config.inc.php"); 
$db_conexion=mysql_connect($sql_host,$sql_usuario,  $sql_pass); 
mysql_select_db($sql_db,$db_conexion); 

$cadena1 $_POST['apepat']; 
$espacio " "
$cadena2 $_POST['apemat']; 
$cadena3 $_POST['nombres']; 
$nombre_completo $cadena1.$espacio.$cadena2.$espacio.$cadena3
echo 
$nombre_completo

$usuario_consulta mysql_query("SELECT * FROM cliente WHERE codcli LIKE '%".$_POST['codcli']."%' AND CONCAT(apepat," ",apemat," ",nom) LIKE '".$nombre_completo."%'"); 
$NFilas mysql_num_rows($usuario_consulta); 
print(
"Hay <b>".$NFilas."</b> fila(s) devuelta(s) en la consulta.<P>"); 
  #2 (permalink)  
Antiguo 24/11/2004, 16:24
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Ni idea que te estas imprmiendo en el where de esa consulta, pero desde ya que es una lucura no escapar caracteres como ' o -- del string.
En si, para ver si eso tiene un error existe mysql_error, que segun tu ejemplo seria asi:
$usuario_consulta = mysql_query("SELECT * FROM cliente WHERE codcli LIKE '%".$_POST['codcli']."%' AND CONCAT(apepat," ",apemat," ",nom) LIKE '".$nombre_completo."%'") or die (mysql_error());

Cuando lo dejes andando sacalo, no es reecomendable dejarlo puesto, ya que probocando un error obtienen nombres de tablas o campos.
  #3 (permalink)  
Antiguo 24/11/2004, 16:34
 
Fecha de Ingreso: noviembre-2004
Mensajes: 25
Antigüedad: 13 años, 1 mes
Puntos: 0
La idea es que... en mi formulario tengo tres campos... esos los llamo y concateno aki:
$cadena1 = $_POST['apepat'];
$espacio = " ";
$cadena2 = $_POST['apemat'];
$cadena3 = $_POST['nombres'];
$nombre_completo = $cadena1.$espacio.$cadena2.$espacio.$cadena3;
echo $nombre_completo;

hasta alli si me imprime el nombre completo concatenado que puse en mi form...
eso lo kiero comparar con otros tres campos q tengo en mi BD pero que tambien los llamo concatenados:
CONCAT(apepat," ",apemat," ",nom) LIKE '".$nombre_completo."%'"...
Pero eso ya no me sale y me sale la pagina en blanco...
no se si estara bien llamar a la variable asi... probe la sentencia en mi mysql front y si sale (poniendo valores)...
Hice lo de mysql_error(); y me sale la pagina en blanco...
HEEEEELP PLIS
:)
  #4 (permalink)  
Antiguo 24/11/2004, 16:44
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
En esa consulta tenes un error, o lo genera los valores que pasas, por que num_rows siempre te devuelve valor (si no te nes valores deverias ver: "Hay 0 fila(s) devuelta(s) en la consulta.") a no ser que el puntero contenga error.
Hace una cosa, imprmi el query en pantalla, y ejecutalo en el front a ver si te tira un resultado:
echo "SELECT * FROM cliente WHERE codcli LIKE '%".$_POST['codcli']."%' AND CONCAT(apepat," ",apemat," ",nom) LIKE '".$nombre_completo."%'";

Eso te imprimira el query completo, fijate o postea que te devuelve eso, nunca use la comparacion como la estas usando (con concat), pero deveria funcionar, y la variable esta bien escapada-.
  #5 (permalink)  
Antiguo 24/11/2004, 17:48
 
Fecha de Ingreso: noviembre-2004
Mensajes: 25
Antigüedad: 13 años, 1 mes
Puntos: 0
manito... tal como dices lo hice, no se porq la pagina me sale en blanco... mira este es mi codigo completo:

<?php
require("aut_config.inc.php");
$db_conexion=mysql_connect($sql_host,$sql_usuario, $sql_pass);
mysql_select_db($sql_db,$db_conexion);

$cadena1 = $_POST['apepat'];
$espacio = " ";
$cadena2 = $_POST['apemat'];
$cadena3 = $_POST['nombres'];
$nombre_completo = $cadena1.$espacio.$cadena2.$espacio.$cadena3;
echo $nombre_completo;

$usuario_consulta = mysql_query("SELECT * FROM cliente WHERE codcli LIKE '%".$_POST['codcli']."%' AND CONCAT(apepat," ",apemat," ",nom) LIKE '%".$nombre_completo."%'") or die(mysql_error());

$NFilas = mysql_num_rows($usuario_consulta);
print("<br>Hay <b>".$NFilas."</b> fila(s) devuelta(s) en la consulta.<P>");
?>

y me sale en blanco ... no me imprime nada ni el numero de filas ni algun error...

acaso sera problema de mi php... tengo bien todo pq so me corren otras aplicaciones sencillas... Esto sucede solo al poner esa consulta.... como si no reconociera la variable como la pongo... eso es lo q me raya... y encima como la pongo en LIKE... no se si estara bien...
gracias
  #6 (permalink)  
Antiguo 24/11/2004, 18:33
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Seguramente tengas mal configurado el php.ini en la seccion de errores.
podes poner error_reporting(E_ALL | E_NOTICE); (Creo que era asi) al inicio de la pagina, o ir al php.ini y en donde dice error_reporting poner :
error_reporting = E_ALL | E_NOTICE
Despues donde dice display_errors debe estar en on:
display_errors = On
Igualmente forza un error a ver si es eso, ace algo como
$variable = 9jskj
Sin el ; al final.
De todas maneras, tal vez te convenga hacer la consulta por separado, algo asi:
Código PHP:
$usuario_consulta mysql_query("SELECT * FROM cliente WHERE codcli LIKE '%".$_POST['codcli']."%' AND (apepat LIKE '%".$apepat."%' and apemat LIKE '%".$apemat."%' and nom LIKE '%".$nom."%')") or die(mysql_error()); 
  #7 (permalink)  
Antiguo 25/11/2004, 07:41
 
Fecha de Ingreso: noviembre-2004
Mensajes: 25
Antigüedad: 13 años, 1 mes
Puntos: 0
hola, tienes razon en ese codigo q pones, pense en eso, sabes cual es el problema... que esta base de datos es una porkeria... por ejemplo... si uno se llama "DE LA CRUZ GOMEZ CARLOS" en la BD esta: "apepat=DE" "apemat=LA" "nom=CRUZ GOMEZ CARLOS" y por eso toy viendo si concatenado puede salir bien la comparacion... porque por separado saldria error siempre no? ...si este tipo se inscribe y pone su apepat "DE LA CRUZ" ...lo va a comparar con "DE" y no lo dejara incribirse pues son diferentes... pero si concateno kiza pueda salir...
Salu2
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 12:39.