この while ループはエコーを実行していません。mysql_num_fields($result); をテストしました。そしてそれは私に16を与えるので、$iがすでに$jよりも大きいというわけではありません。何もしないだけで、私も無限になるわけではありません。
while ($row = mysql_fetch_array($result))
{
$i = 1;
$j = mysql_num_fields($result);
if ($i <= $j) {
echo "<li>";
echo "<a id='autoload' href='images/big/".$row['card$i'].".jpg' class='highslide' onclick='return hs.expand(this, config1 )'>";
echo "<img src='images/small/".$row['card$i']."jpg' alt''";
echo " title='";
echo $year." ". $brand." ".$playerfirst." ".$playerlast." ".$details."'/>";
echo "</a>";
echo "</li>";
$i++;
}
else {
break;
}
}
このクエリは 1 行しか返さないと言うべきだったと思います。次に、いくつかの異なる列 (card1、card2、card3...card16) から数値を取得し、上記のように画像ファイル名として入力する必要があります。また、私はすべての mysqli とインジェクションからの保護を理解しています。この種のプロジェクトでは、本当に心配する必要はありません。