Когда я нажимаю на следующую ссылку или любую страницу после страницы 1, я получаю следующую ошибку:
Предупреждение: mysqli_query () [function.mysqli-query]: пустой запрос
Я сейчас пытаюсь просмотреть продукты по group_id, вот мой запрос:
if (isset($_GET['grpid']) && is_numeric($_GET['grpid']) ) {
$grpid = (int) $_GET['grpid'];
if ($grpid > 0) { // Overwrite the query:
$q = "SELECT company.co_id, co_name, category.cat_id, cat_name, prod_name, prod_desc, prod_tag, prod_id, prod_img FROM company, product, category WHERE company.co_id = product.co_id AND category.cat_id = product.cat_id AND product.group_id = $grpid ORDER BY company.co_name ASC, product.prod_name ASC";
}
}
Я думаю, что это может быть связано с этим, потому чтоесли я добавлю в запрос группу таблиц, добавив group.group_id, group_name
после предложения SELECT
и group.group_id = product_group_id
после предложения WHERE
, я получу следующую ошибку:
Ошибка:У вас есть ошибка в вашем синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с группой. ГДЕ
Надеюсь, я предоставил достаточно информации, моя база данных состоит из 4 таблиц:
product
prod_id
co_id
cat_id
grp_id
prod_name
prod_tag
prod_desc
prod_img
company
co_id
co_name
co_img
grp
grp_id
grp_name
category
cat_id
cat_name
Обновление
ОК, мой запрос точно такой:
if (isset($_GET['grpid']) && is_numeric($_GET['grpid']) ) {
$grpid = (int) $_GET['grpid'];
if ($grpid > 0) { // Overwrite the query:
$q = "SELECT company.co_id, co_name, grp.grp_id, grp_name, category.cat_id, cat_name, prod_name, prod_desc, prod_tag, prod_id, prod_img FROM company, product, category, grp WHERE company.co_id = product.co_id AND category.cat_id = product.cat_id AND product.grp_id = $grpid ORDER BY company.co_name ASC, product.prod_name ASC LIMIT $start, $display";
}
}
, за которым сразу следует:
$r = mysqli_query($dbc,$q) or die("Error: ".mysqli_error($dbc));
Чтострока, на которую указывает ошибка:
Предупреждение: mysqli_query () [function.mysqli-query]: пустой запрос в
Боюсь, я не знаю, какраспечатайте sql и сразу же верните его обратно?
Если я не использую нумерацию страниц, тогда показываются все предполагаемые продукты;проблема возникает, когда я нахожусь на любой странице, кроме первой.
ОБНОВЛЕНИЕ 2
Если я задаю запрос для выполнения, закомментировав окружающие его теги if, сообщение об ошибке изменится наthis:
Ошибка: у вас есть ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с 'ORDER BY company.co_name ASC, product.prod_name ASC LIMIT 5, 5' в строке 1
Имеет ли это какой-либо пролитьбольше света на эту тему?
ОБНОВЛЕНИЕ 3 - решено!
Простая простая проблема в конце, большое спасибо BugFinder и другим, кто заставил мой мозг должным образом подумать о проблеме.
Проблема заключалась в том, что я не передавал переменную на соответствующие страницы при создании URL-адреса, он читал:
echo '<a href="browse_products.php?&s=' . ($start + $display) . '&p=' . $pages . '">Next</a>';
Но добавив «grpid = 1», чтобы он читался:
echo '<a href="browse_products.php?grpid=1&s=' . ($start + $display) . '&p=' . $pages . '">Next</a>';
Это решило все мои проблемы!
СПАСИБО, ребята, дизайнеру трудно думать о программировании так, как это делают программисты, вы буквально спасли мне дни и дни,отличный материал!