December 3, 201015 yr Hi guys Having an issue with some code: <?php $category_set = get_categories(); while ($category = mysql_fetch_array($categorynav)) { echo "<li>{$category["category_name"]}</li>"; } $subcat_set = get_subcat_for_categories($category["id"]); echo "<ul class=\"pages\">"; while ($subcat = mysql_fetch_array($subcatnav)) { echo "<li>{$subcat["menu_name"]}</li"; } echo "</ul>"; ?> <?php function confirm_query($result_set) { if (!$result_set) { die("Database query failed: " . mysql_error()); } } function get_categories() { global $db_connect; $query = "SELECT * FROM 'admin_cat' ORDER BY 'position' ASC"; $categorynav = mysql_query($query) or die(mysql_error()); confirm_query($categorynav); return $categorynav; } function get_subcat_for_categories($category_id){ global $db_connect; $query = "SELECT * FROM 'pages' WHERE category_id = {$category["id"]} ORDER BY 'position' ASC"; $subcatnav = mysql_query($query) or die(mysql_error()); confirm_query($subcatnav); return $subcatnav; } ?> I am getting this error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''subjects' ORDER BY 'position' ASC' at line 1 Anyone know why this is Thanks guys Joe
December 3, 201015 yr Hi, You don't need quotations around 'position'. Also, change {$category["id"]} to {$category['id']}
December 3, 201015 yr Author Hi, You don't need quotations around 'position'. Also, change {$category["id"]} to {$category['id']} Hi thanks for your reply, Unfortunately still getting same error Thanks Joe
December 4, 201015 yr Hi thanks for your reply, Unfortunately still getting same error Thanks Joe Replace all that code with the below <?php function confirm_query($result_set) { if (!$result_set) { die("Database query failed: " . mysql_error()); } } function get_categories() { global $db_connect; $query = "SELECT * FROM admin_cat ORDER BY position ASC"; $categorynav = mysql_query($query) or die(mysql_error()); confirm_query($categorynav); return $categorynav; } function get_subcat_for_categories($category_id){ global $db_connect; $query = "SELECT * FROM pages WHERE category_id = '".$category['id']."' ORDER BY position ASC"; $subcatnav = mysql_query($query) or die(mysql_error()); confirm_query($subcatnav); return $subcatnav; } ?> Should work
December 4, 201015 yr Author Replace all that code with the below <?php function confirm_query($result_set) { if (!$result_set) { die("Database query failed: " . mysql_error()); } } function get_categories() { global $db_connect; $query = "SELECT * FROM admin_cat ORDER BY position ASC"; $categorynav = mysql_query($query) or die(mysql_error()); confirm_query($categorynav); return $categorynav; } function get_subcat_for_categories($category_id){ global $db_connect; $query = "SELECT * FROM pages WHERE category_id = '".$category['id']."' ORDER BY position ASC"; $subcatnav = mysql_query($query) or die(mysql_error()); confirm_query($subcatnav); return $subcatnav; } ?> Should work Hey thanks for reply tried it now getting the following errors: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/amazin95/public_html/admin/includes/adminsidebar.php on line 7 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/amazin95/public_html/admin/includes/adminsidebar.php on line 15 adminsidebar.php <?php $category_set = get_categories(); while ($category = mysql_fetch_array($categorynav)) { echo "<li>{$category["category_name"]}</li>"; } $subcat_set = get_subcat_for_categories($category["id"]); echo "<ul class=\"pages\">"; while ($subcat = mysql_fetch_array($subcatnav)) { echo "<li>{$subcat["menu_name"]}</li"; } echo "</ul>"; ?> functions.php <?php function confirm_query($result_set) { if (!$result_set) { die("Database query failed: " . mysql_error()); } } function get_categories() { global $db_connect; $query = "SELECT * FROM admin_cat ORDER BY position ASC"; $categorynav = mysql_query($query) or die(mysql_error()); confirm_query($categorynav); return $categorynav; } function get_subcat_for_categories($category_id){ global $db_connect; $query = "SELECT * FROM pages WHERE category_id = '".$category['id']."' ORDER BY position ASC"; $subcatnav = mysql_query($query) or die(mysql_error()); confirm_query($subcatnav); return $subcatnav; } ?> This is driving me mad now lol Thanks for all help guys
December 4, 201015 yr should $subcat_set = get_subcat_for_categories($category["id"]); be $subcat_set = get_subcat_for_categories($category['id']); and echo "<li>{$subcat["menu_name"]}</li"; be echo "<li>{$subcat["menu_name"]}</li>";
December 4, 201015 yr Author should $subcat_set = get_subcat_for_categories($category["id"]); be $subcat_set = get_subcat_for_categories($category['id']); and echo "<li>{$subcat["menu_name"]}</li"; be echo "<li>{$subcat["menu_name"]}</li>"; Hi there tried changing that still getting the exact same error Im really lost with this Thanks Joe
December 4, 201015 yr Author are you connecting to the database okay? YEh i think so it was all working before i split code into functions and added the "ORDER BY posistion ACS"
December 4, 201015 yr Hi, Give this a go: <?php $category_set = get_categories(); while ($category = mysql_fetch_array($categorynav)) { echo "<li>{$category['category_name']}</li>"; } $subcat_set = get_subcat_for_categories($category["id"]); echo "<ul class=\'pages\'>"; while ($subcat = mysql_fetch_array($subcatnav)) { echo "<li>{$subcat['menu_name']}</li"; } echo "</ul>"; ?> And <?php function confirm_query($result_set) { if (!$result_set) { die("Database query failed: " . mysql_error()); } } function get_categories() { global $db_connect; $query = "SELECT * FROM admin_cat ORDER BY position ASC"; $categorynav = mysql_query($query) or die(mysql_error()); confirm_query($categorynav); return $categorynav; } function get_subcat_for_categories($category_id){ global $db_connect; $query = "SELECT * FROM pages WHERE category_id = '.$category['id'].' ORDER BY position ASC"; $subcatnav = mysql_query($query) or die(mysql_error()); confirm_query($subcatnav); return $subcatnav; } ?>
December 4, 201015 yr Author Hi, Give this a go: <?php $category_set = get_categories(); while ($category = mysql_fetch_array($categorynav)) { echo "<li>{$category['category_name']}</li>"; } $subcat_set = get_subcat_for_categories($category["id"]); echo "<ul class=\'pages\'>"; while ($subcat = mysql_fetch_array($subcatnav)) { echo "<li>{$subcat['menu_name']}</li"; } echo "</ul>"; ?> And <?php function confirm_query($result_set) { if (!$result_set) { die("Database query failed: " . mysql_error()); } } function get_categories() { global $db_connect; $query = "SELECT * FROM admin_cat ORDER BY position ASC"; $categorynav = mysql_query($query) or die(mysql_error()); confirm_query($categorynav); return $categorynav; } function get_subcat_for_categories($category_id){ global $db_connect; $query = "SELECT * FROM pages WHERE category_id = '.$category['id'].' ORDER BY position ASC"; $subcatnav = mysql_query($query) or die(mysql_error()); confirm_query($subcatnav); return $subcatnav; } ?> Thanks for your reply however has still not fixed the problem, totally lost guys
December 4, 201015 yr Author and I guess the $db_connect is defined somewhere else? I have a seperate file called db_connect.php
December 4, 201015 yr not sure what to suggest, I'd be sticking in lots of echo statements to ensure everything is getting to places it should and has values you expect.
Create an account or sign in to comment