Vamos a ver .. ten claro los datos que generas con esa consulta SQL .. tu traes una combinación de los campos que llamas en tu consulta y bajo las condiciones que tu impones (WHERE ....)
Las referencias a un campo determinado de un resultado dado en el caso de que llames a várias tablas, para evitar confusiones debes crear "ALIAS" en SQL.
La llamada a los campos que tu necesites de las tablas implicadas son con la sintax SQL:
nombre_tabla.campo
Y como te comentaba .. si tienes algún tipo de confusión con nombres duplicados .. usas un ALIAS.
Como no indicas la estructura de tus tablas para ver los nombres de los campos que usas y en que tablas .. no puedo ser más concreto:
Código PHP:
$result = mysql_query("SELECT usuario.campo_que_sea FROM reserva_sala,usuario WHERE reserva.id_sala='$sala' AND reserva.id_bloque='$bloque' AND reserva.fecha='$date' AND reserva.rut=usuario.rut", $conexion);
if ($row = mysql_fetch_array($result)){
echo"La Sala no se encuentra disponible, ya ha sido reservada por: ".$row['campo_que_sea']."<br> <br>";
?>
Te fijas que hago referencia al nombre del campo y no al "n°" del resultado? .. eso ayuda a acceder al resultado.
Tu problema es que confundes el "n° de columna" que está tu dato en la tabla que necesitas con la NUEVA tabla que estás generando al hacer un "SELECT" que llama a más de una tabla y a campos en forma selectiva ...
Usando Alias:
Código PHP:
$result = mysql_query("SELECT usuario.campo_que_sea AS nombre_nuevo FROM reserva_sala,usuario WHERE reserva.id_sala='$sala' AND reserva.id_bloque='$bloque' AND reserva.fecha='$date' AND reserva.rut=usuario.rut", $conexion);
if ($row = mysql_fetch_array($result)){
echo"La Sala no se encuentra disponible, ya ha sido reservada por: ".$row['nombre_nuevo']."<br> <br>";
?>
Ahí creé un "alias" .. una "columna" nueva de resultados con ese nombre para hacer referencia a esta en forma exclusiva y no a otra que pudiera tener el mismo nombre (y tal vez coincidan sus valores .. ).
Un saludo,