gpt4 book ai didi

php - 分页仅显示产品的第一页;在第 1 页之后,出现 "Warning: mysqli_query(): Empty query"错误

转载 作者:行者123 更新时间:2023-11-29 05:41:35 25 4
gpt4 key购买 nike

当我点击下一个链接或第 1 页之后的任何页面时,出现以下错误:

Warning: mysqli_query() [function.mysqli-query]: Empty 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";
}

我认为这可能与此有关,因为如果我将组表添加到查询中,通过在 SELECT 之后添加 group.group_id, group_name子句和 group.group_id = product_group_idWHERE 子句之后,我收到以下错误:

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 'group WHERE

我希望我已经提供了足够的信息,我的数据库是 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));

错误指向哪一行:

Warning: mysqli_query() [function.mysqli-query]: Empty query in

恐怕我不知道如何将sql打印出来直接反馈回去?

如果我不使用分页,那么所有预期的产品都会显示;当我在第一页以外的任何页面上时,就会出现问题。

更新 2

如果我通过注释掉它周围的 if 标签来设置要运行的查询,则错误消息将更改为:

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 'ORDER BY company.co_name ASC, product.prod_name ASC LIMIT 5, 5' at line 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>';

它解决了我所有的问题!

谢谢你们,设计师很难像程序员那样思考编程,你们真的帮我节省了很多天,太棒了!

最佳答案

group 是一个保留字,这就是它会提示的原因。尝试用引号将其引用为 group

关于php - 分页仅显示产品的第一页;在第 1 页之后,出现 "Warning: mysqli_query(): Empty query"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6398269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com