なぜこれが機能しないのかわかりません。配列をフェッチしているためだと思いますが、なぜそれが停止するのかわかりません。
とにかく、コードは次のとおりです。
<?php
include ("../database.php");
$result = mysql_query("SELECT * FROM gigs WHERE artisturl='$artistname'");
while($row = mysql_fetch_array($result)){
if (empty($row['gigname'])){echo '<p2>'.$row['artistname']. 'has not posted any gigs yet. Check back later.</p2>';}
else {
echo $row['gigname'].$row['venue'].$row['lineup'].$row['date'].$row['time'].$row['price'].$row[' purchase'].'<br><br>';}}?>