Are the results you are searching for located in "col2" of your table? If so, you could change your query to include the name of the column that has your result(col2). This way you will isolate the variable and then call it in your array using $row[0].
Not sure if that fixes everything, just some thoughts.
PHP Code:
<?
$cat = $_GET['cat'];
$result = mysql_query("SELECT columnName FROM tablename WHERE category = '$cat' LIMIT 1");
$col2 = "default"; //Set as default - no if needed
if { // if $cat content matches
$row = mysql_fetch_array($result); // you wouldn't need a loop for one result
$col2 = $row[0];
}
require_once("folder/".$col2."/file.php");
?>