Мои первые два в то время как цикл работает сейчас, но когда я добавить 3 один на следующий уровень я получаю другую ошибку:время цикла - запрос базы данных не удалось:
База данных запросов не удалось: У вас ошибка в вашей Синтаксис SQL; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом с '' в строке 1
Уровень 1 - Работает
$parentpage_set = mysql_query("SELECT * FROM parentpages", $connection);
if (!$parentpage_set) {die("Database query failed: " . mysql_error()); }
echo "<ul class=\"subjects\">";
while ($parentpage = mysql_fetch_array($parentpage_set)) {echo "<li>{$parentpage["menu_name"]}</li>";
echo "</ul>";
Уровень 2 - работает
$childpage_set = mysql_query("SELECT * FROM childpages WHERE parentpage_id = {$parentpage["id"]}",$connection);
if (!$childpage_set) {die("Database query failed: " . mysql_error()); }
echo "<ul class=\"pages\">";
while ($childpage = mysql_fetch_array($childpage_set)) {echo "<li>{$childpage["menu_name"]}</li>"; }
echo "</ul>";
Уровень 3 - не работает, если я прокомментирую это, мой запрос выполняется, но при отсутствии комментариев я получаю сообщение об ошибке
$subchildpage1_set = mysql_query("SELECT * FROM subchildpages1 WHERE childpage_id = {$childpage["id"]}",$connection);
if (!$subchildpage1_set) {die("Database query failed: " . mysql_error()); }
echo "<ul class=\pages\">";
while ($subchildpage1 = mysql_fetch_array($subchildpage1_set)) {echo "<li>{$subchildpage1["menu_name"]}</li>"; }
echo "</ul>";
Мне еще нужно добавить еще два уровня в мою навигацию - я не могу забрать свою ошибку, и я пытался ее забрать, и я прочитал много вопросов, может кто-нибудь скажет мне, где моя ошибка пожалуйста,
Пожалуйста, прекратите использование 'mysql_ *' функций (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). [Эти расширения] (http://php.net/manual/en/migration70.removed-exts-sapis.php) были удалены в PHP 7. Узнайте о [подготовленном] (http://en.wikipedia.org/ wiki/Prepared_statement) для [PDO] (http://php.net/manual/en/pdo.prepared-statements.php) и [MySQLi] (http://php.net/manual/en/mysqli.quickstart .prepared-statements.php) и подумайте над использованием PDO, [это действительно довольно легко] (http://jayblanchard.net/demystifying_php_pdo.html). –
Если вы повторите запрос, что вы видите? Это первое, что вам нужно сделать при поиске синтаксических ошибок в запросах. –
Сделайте себе огромную услугу и сделайте некоторое основное разделение проблем. По крайней мере, выполните запросы к базе данных в верхней части страницы, сохраните результаты в требуемой структуре (некоторая форма массива), а затем выполните итерацию массива внутри html.Смешивание сложного php с html - это всегда плохая идея - просто попытка прочитать приведенный выше код дает мне головную боль - неудивительно, что вы боретесь – Steve