оператор if не показывает правильность, он всегда показывает истину, даже если это неправильно.
$sql ="SELECT * FROM `namemap` WHERE `info_hash`=='{$_GET['info_hash']}'";
if ( $sql == true )
{errorexit(`error`);
}
Ваша переменная $ sql — это просто строка, вы никогда не выполняете запрос, который, я полагаю, вы хотите сделать. Строка всегда оценивается как истина.
Других решений пока нет …