Estas haciendo el or die()... cuando asignas la cadena del query a una variable, y eso no sirve de nada.
Eso debes hacerlo cuando ejecutas el query con la funcion = mysql_query(). ¿se entiende?, si no avisa que te lo explico mejor...
Código PHP:
// Aqui escribes el query en una variable.
$consul = "SELECT * FROM anticancerigenas WHERE (family = '$familia') AND (nombre_comun = '$commonname') AND (nombre_cientifico = '$cientificname')";
// y aqui debes ejecutarlo
$result = mysql_query($consul) or die(mysql_error()); // y como die() es una funcion lleva sus parentesis.
Posiblemente ahora te muestre el error.
Otra cosa: usa bucles while normales, pues cuando lo ejecutas con el do...while, la primera vez $row no esta definido.
Saludos!
Ha!, no entiendo tu ultima duda.