Основываясь на совете, который мне дал на StackOverflow, я попробовал запрос ниже, но он не работал. Я пытаюсь получить список из 25 наиболее недавно добавленных стоимостей для «сайта» в базе данных, независимо от того, в какую таблице они находятся в ниже код дает следующее сообщение об ошибке:.Двойной цикл while не работает
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in domain.php on line 82
линии 82 имеет while ($rowa = mysql_fetch_array($indexa))
Любые идеи, почему это не работает?
echo "<table class=\"samples\">";
$index = mysql_query("select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='sitefeather'");
while ($row = mysql_fetch_array($index))
{
$indexa = mysql_query("select site FROM index order by createdatetime desc limit 25");
while ($rowa = mysql_fetch_array($indexa))
{
echo '<tr><td><a href="sitelookup3.php?entry='.urlencode($rowa['site']).'&searching=yes&search=search">'.$rowa['site'].'</a></td></tr>';
}
}
echo "</table>";
Я получаю сообщение об ошибке при выполнении «select site FROM index order by createdatetime desc limit 25», он говорит, что индекс таблицы не должен быть написан таким образом. И мне интересно, почему вы хотите запускать тот же самый внутренний запрос, который не имеет отношения к внешнему запросу. –
Вы получаете эту ошибку, потому что индекс является зарезервированным словом в mysql, поэтому, если вы собираетесь использовать его в качестве имени таблицы, он должен быть экранирован (в вашем случае mysql пытается интерпретировать его так, как если бы он был реальным ключевое слово). – shylent
FYI: то, что вы используете, называется * вложенным * while циклом. Я также предлагаю вам прочитать о вводе кода. – Artelius