No te recomiendo que hagas lo que haces en la primera línea de tu código. Puede funcionar, sí, pero si el intérprete PHP está compilado de forma que no trunque las expresiones booleanas (podría ser) te verás en problemas. También podría pasar que mysql_connect devuelva un valor diferente de false pero que sea interpretado como tal en la expresión, y de nuevo te verás en problemas. Y lo peor de todo: es difícil de leer, y PHP ya es bastante críptico por sí sólo como para encima complicarlo más. De veras que no entiendo por qué lo hacéis.
En cuanto a tu pregunta, te recomiendo que uses la variable $conexion al seleccionar la base de datos y almacenes el resultado de dicha selección para poder usarla al hacer la consulta. También te recomiendo que compruebes cada paso ya que el error podría no estar en la consulta (que es lo que sospecho). Es decir:
Código PHP:
<?php
$Conexion = mysql_connect ("valor_host", "valor_usuario", "valor_contraseña");
if ($Conexion === false)
die ('No se pudo conectar con el gestor de bases de datos: ' . mysql_error ());
$BaseDatos = mysql_select_db ("nombre_bd", $Conexion);
if ($BaseDatos === false)
die ('No pudo seleccionarse la base de datos: '.mysql_error ());
session_start();
$sql = "select * from nombre_tabla where campo1=varlor_campo1";
$Consulta = mysql_query ($sql, $BaseDatos);
if ($Consulta === false)
die ('La consulta SQL contiene errores '.mysql_error ());
elseif ($Consulta === true)
echo 'La consulta SQL fue un éxito.';
else
echo 'La consulta SQL devolvió valores.';
Observa el uso del operador "===" en vez del operador "==". Así garantizas que la comparación es exacta y que el intérprete no realizará ningún tipo de conversión de datos. Lo cierto es que en este caso es redundante, pero es una buena costumbre, sobre todo para la comprobación del resultado de mysql_query.