Solución al error Asigment in condition – PHP:MySQL Tips

Los que desarrollamos con Zend Studio o con Eclipse y nos da por abrir proyectos antiguos, vemos que se nos empieza a quejar de errores en nuestro codigo antiguo. Uno de estos errores es el de ‘Asigment in condition’que viene a decir que estamos asignando un valor en una condicional.
Veamos el ejemplo.
Los que somos de la vieja escuela de PHP realizabamos las consultas a MySQL como nos las habian explicado, por lo menos en mi caso era de esta manera:

$sql = "Select * from `tabla`";
$consulta = mysql_db_query($dbname, $sql, $con);
while ( $resultado = mysql_fetch_array($consulta)) {
echo $resultado[0],$resultado[1];// presentábamos los datos 
}

Bien esta sintaxis la cual nos aprendimos de memoria ahora nos tirara dos errores. El primero lo explique en una entrada anterior y es el mysql_db_query, el cual ha pasado a deprecated y hay que usar el mysql_query($sql, $con), y la base de datos pasa a establecerse con la funcion mysql_select_db($dbname)
El segundo error que nos dará, es en el while el cual es debido a que estamos asignando valor a $resultado dentro de una estructura condicional. Para solucionarlo rápidamente añadiremos true == delante o detrás de la estructura.
La estructura corregida quedara de la siguiente manera

mysql_select_db($dbname); // Seleccionamos la base de datos para trabajar
$sql = "Select * from `tabla`";
$consulta = mysql_query($sql, $con);
while ( true == ($resultado = mysql_fetch_array($consulta))) {
echo $resultado[0],$resultado[1];// presentábamos los datos 
}

Si analizamos la sentencia de la condicional ahora dice mientras la asignacion de valor a resultado sea verdadero hara el echo.
+Info: Aquí

Anuncio publicitario

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s