Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] php select variables

Estas en el tema de php select variables en el foro de PHP en Foros del Web. Hola amigos tengo un problema estupido y no encuentro el error si escribo esto: Código PHP: <?php $Nom = "santiago" ; $Pass = "santiago" ; ...
  #1 (permalink)  
Antiguo 07/02/2013, 20:53
 
Fecha de Ingreso: enero-2013
Mensajes: 62
Antigüedad: 11 años, 3 meses
Puntos: 0
php select variables

Hola amigos tengo un problema estupido y no encuentro el error si escribo esto:

Código PHP:
<?php

$Nom
="santiago";
$Pass="santiago";

echo 
"$Nom $Pass <br>";

include (
'../conect/conect.php');

// Verifico la coneccion

if (!$link) {
    die(
"No se puede conectar a la base de datos: " mysqli_connect_error());
}

$filtro= ("SELECT * FROM turf_usrs

            WHERE turf_usrs.usr=$Nom AND turf_usrs.clav=$Pass
            
                "
)
            or die (
"no se ha podido conectar");
        

if (
$result mysqli_query($link$filtro)) {

while (
$filamysqli_fetch_array ($resultMYSQLI_ASSOC))
{

$nombre=$fila['usr'];
$idnom=$fila['idusr'];
$nivel=$fila['privlg'];

echo 
"$nombre $idnom $nivel ";
}}

else {

echo 
"No existe el usuario";}



?>
No Funciona y el resultado es :

santiago santiago
No existe el usuario

Si lo escribo así:

Código PHP:
<?php

$Nom
="santiago";
$Pass="santiago";

echo 
"$Nom $Pass <br>";

include (
'../conect/conect.php');

// Verifico la coneccion

if (!$link) {
    die(
"No se puede conectar a la base de datos: " mysqli_connect_error());
}

$filtro= ("SELECT * FROM turf_usrs

            WHERE turf_usrs.usr='santiago' AND turf_usrs.clav='santiago'
            
                "
)
            or die (
"no se ha podido conectar");
        

if (
$result mysqli_query($link$filtro)) {

while (
$filamysqli_fetch_array ($resultMYSQLI_ASSOC))
{

$nombre=$fila['usr'];
$idnom=$fila['idusr'];
$nivel=$fila['privlg'];

echo 
"$nombre $idnom $nivel ";
}}

else {

echo 
"No existe el usuario";}



?>
Me sale esto, que es lo correcto:

santiago santiago
santiago 9 2

o sea que tengo un problema con las variable y no lo encuentro
  #2 (permalink)  
Antiguo 07/02/2013, 21:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: php select variables

Pues no te lo tomes a mal, pero tienes razón, aunque los problemas jamás llegarán a ser así de estúpidos.

Haces varias cosas mal:
Código PHP:
$filtro= ("SELECT * FROM turf_usrs

            WHERE turf_usrs.usr=$Nom AND turf_usrs.clav=$Pass
            
                "
)
            or die (
"no se ha podido conectar"); 
Aquí no hace falta el or die(), probablemente querrías usarlo al momento de ejecutar la consulta con mysql_query() y no al definir la consulta en la cadena.

De ahí mismo proviene el error de que no hay datos, ¿te has dado cuenta que al rededor de tus variables $Nom y $Pass no estás usan comillas para delimitar sus valores?

Si observas la segunda consulta (la que sirve) tu colocas los datos manualmente, y ahí si agregas las comillas.
Cita:
WHERE turf_usrs.usr='santiago' AND turf_usrs.clav='santiago'
El otro error que cometes es no depurar tus consultas, ¿o vas a preguntar todo el tiempo en los foros cuando el lenguaje ofrece herramientas para depurar?

Lo más sencillo es imprimir el valor de mysql_error() después de que la consulta arroja un error, así descubres lo que está mal y te evitas la pena de hacer preguntas obvias en los foros.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/02/2013, 21:03
 
Fecha de Ingreso: enero-2013
Mensajes: 62
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: php select variables

Cita:
Iniciado por pateketrueke Ver Mensaje
Pues no te lo tomes a mal, pero tienes razón, aunque los problemas jamás llegarán a ser así de estúpidos.

Haces varias cosas mal:
Código PHP:
$filtro= ("SELECT * FROM turf_usrs

            WHERE turf_usrs.usr=$Nom AND turf_usrs.clav=$Pass
            
                "
)
            or die (
"no se ha podido conectar"); 
Aquí no hace falta el or die(), probablemente querrías usarlo al momento de ejecutar la consulta con mysql_query() y no al definir la consulta en la cadena.

De ahí mismo proviene el error de que no hay datos, ¿te has dado cuenta que al rededor de tus variables $Nom y $Pass no estás usan comillas para delimitar sus valores?

Si observas la segunda consulta (la que sirve) tu colocas los datos manualmente, y ahí si agregas las comillas.


El otro error que cometes es no depurar tus consultas, ¿o vas a preguntar todo el tiempo en los foros cuando el lenguaje ofrece herramientas para depurar?

Lo más sencillo es imprimir el valor de mysql_error() después de que la consulta arroja un error, así descubres lo que está mal y te evitas la pena de hacer preguntas obvias en los foros.
Muchas Gracias amigo, no acostumbro a preguntar boberias, pero me estaba volviendo loco
  #4 (permalink)  
Antiguo 07/02/2013, 21:43
 
Fecha de Ingreso: enero-2013
Mensajes: 62
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: php select variables

Cita:
Iniciado por Agente1960 Ver Mensaje
Muchas Gracias amigo, no acostumbro a preguntar boberias, pero me estaba volviendo loco
Hice este cambio
lo puse así

Código PHP:

WHERE turf_usrs
.usr='$Nom' AND turf_usrs.clav='$Pass' 
Y tampoco funciona,

y no consigo consigo que me imprima los mensajes de error de mysqli

y menos las variables.

imprime solo el 1º renglón
  #5 (permalink)  
Antiguo 07/02/2013, 21:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: php select variables

Muestra tu código actual e indica los mensajes de error completos para comparar, gracias.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 07/02/2013, 21:55
 
Fecha de Ingreso: enero-2013
Mensajes: 62
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: php select variables

Cita:
Iniciado por pateketrueke Ver Mensaje
Muestra tu código actual e indica los mensajes de error completos para comparar, gracias.
el codigo ahora es:

Código PHP:

<?php

$Nom
="santiago";
$Pass="santiago";

echo 
"$Nom $Pass <br>";

include (
'../conect/conect.php');

// Verifico la coneccion

if (!$link) {
    die(
"No se puede conectar a la base de datos: " mysqli_connect_error());
}

$filtro= ("SELECT * FROM turf_usrs

            WHERE turf_usrs.usr='$Nom' AND turf_usrs.clav='$Pass'
            
                "
); 
        

if (
$result mysqli_query($link$filtro

                or die(
"Error al ejecutar la consulta: ".mysql_error())) {



while (
$filamysqli_fetch_array ($resultMYSQLI_ASSOC))
{

$nombre=$fila['usr'];
$idnom=$fila['idusr'];
$nivel=$fila['privlg'];

echo 
"$nombre $idnom $nivel ";
}}

else {

echo 
"No existe el usuario";}



?>

y el resultado que imprime es:

santiago santiago

o sea que veras no imprime los datos de la tabla

y no me da ningún código de error
  #7 (permalink)  
Antiguo 07/02/2013, 22:19
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: php select variables

Imprime algo después de cada sentencia para que veas la parte donde no se ejecuta, así a simple vista no hay mucho que decir por lo que se lee.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 07/02/2013, 22:32
 
Fecha de Ingreso: enero-2013
Mensajes: 62
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: php select variables

¿Podrá ser que en mi maquina, que es linux la variable $Pass la utilice el sistema o Mysql para algo ?

cuando imprimi dentro del select $Pass habia cambiado a la contraseña de MYSQL y por eso no funcionaba, ahora cambie el combre a $Passw y funcionó perfecto.

Muchisimas Gracias

y disculpa el fastidio.

Sumate esta anécdota a tu diario, NU USAR $Pass por las dudas

Abrazos

Etiquetas: select, variablesphp
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 20:58.