Я немного пофиксил код, предыдущий не работает :/
Теперь он всё же удаляет всё как надо, но при удалении на милю секунды выскакивает та самая ошибка.
<?php
$author = $my['username'];
$url_res = mysql_query("SELECT * FROM `shorten_url` WHERE `author`='$author'");
while($urls = mysql_fetch_array($url_res)) {
$id = $urls['id'];
if (isset($_POST['delete'])) {
$url_res = ("DELETE FROM `shorten_url` WHERE id='$id'");
$urls = mysql_query($url_res) or die(mysql_error());
echo ' <meta http-equiv="refresh" content="0; url='.$config['url'].'shortener">';
}
echo '
<form method="post" novalidate="novalidate">
<tr>
<td class="text"><a href="'.$urls['short_url'].'">'.$urls['short_url'].'</a><br><small>'.$urls['full_url'].'</small></td>
<td class="text-center">
<div class="btn-group">
<button class="btn btn-xs btn-default" name="delete" title="Удалить"> <i class="fa fa-times"></i> </button>
</div>
</td>
</tr>
</form>
';
}
?>
P.S. Ошибка вылезала из-за неверной кодировки на странице.