Un poco de php

Kr4n3oK

Buenas tengo un problemilla:

<?php
@ob_start("ob_gzhandler");
include("configuraciones/conexion.php");

$codigo=$_POST['codigo'];

$resultado=@mysqli_query($conexion,"select * from empleado where codigo='$codigo'");
if ($row=mysqli_fetch_array($resultado))
{
$nombre=mysqli_query($conexion,"select nombre from empleado where codigo='$codigo'");
if ($row=mysqli_fetch_array($nombre))
echo "Ha conectado como '.$nombre.'"; <--No consigo que me devuelva en un echo el nombre que corresponde al codigo que antes se metio.

	
	
	
	
	}
	else
	{
	Header("Location: indexphp.php");
	}
	
	?>

He estado buscando y mirando pero no consigo sacarlo, me da la sensacion de que es una tonteria lo que me esotoy dejando atras, pero no lo sé, si pudieseis ayudarme un pelin, gracias xDD

Fyn4r

Varias cosas:
1º- Las 2 consultas son realmente necesarias? Estas buscando la misma info 2 veces

2º- echo "Ha conectado como '.$nombre.'";
Para que pille $nombre como una variable no tendrías que poner ". ." ? (ya que abres el echo con comillas dobles)

3º- Prueba a cambiar

echo "Ha conectado como '.$nombre.'";

por

echo "Ha conectado como ".$row["nombre"]; (siempre y cuando el dato en la BD se llame nombre xD)

4º- No uses la misma variable para almacenar resultados de 2 consultas distintas si ambas están en el mismo if

NeB1

$nombre -> $row['nombre'] (o el campo de la base de datos)

Addys

en $nombre estas guardando el array con el resultado de la consulta, compruebalo haciendo

echo var_dump($nombre);

drount

Como dicen, no es necesario hacer dos consultas. En la segunda consulta estas obteniendo en la varible $nombre el resultado de la query y para obtener el valor deberías hacer $nombre['nombre'] (si es que se llama así la columna de tu tabla), pero, como decimos, en la anterior $row['nombre'] ya tienes el valor que buscas.

Por otro lado, coges el valor directamente por POST. Deberías hacer un htmlspecialchars o un mysql_real_scape_string al valor obtenido antes de ponerlo en la consulta para evitar ataquest mysql injection.

Usuarios habituales

  • drount
  • Addys
  • NeB1
  • Fyn4r
  • Kr4n3oK