Php 奇怪的MYSQL错误

Php 奇怪的MYSQL错误,php,mysql,sql,mysql-error-1054,Php,Mysql,Sql,Mysql Error 1054,我在文件中的查询在php文件中如下所示: SELECT p.products_id as v_products_id, p.products_model as v_products_model, p.products_image as v_products_image, p.products_price as v_products_price, p.products_sku a

我在文件中的查询在php文件中如下所示:

SELECT
            p.products_id as v_products_id,
            p.products_model as v_products_model,
            p.products_image as v_products_image,
            p.products_price as v_products_price,
            p.products_sku as v_products_sku,
            p.products_upc as v_products_upc,
            p.products_weight as v_products_weight,
            p.products_date_added as v_date_added,
            p.products_date_available as v_date_avail,
            p.products_tax_class_id as v_tax_class_id,
            p.products_quantity as v_products_quantity,
            p.manufacturers_id as v_manufacturers_id,
            subc.categories_id as v_categories_id
            FROM
            zen_products as p,
            zen_categories as subc,
            zen_products_to_categories as ptoc
            WHERE
            p.products_id = ptoc.products_id AND
            p.products_model = 'M150XN05' AND
            ptoc.categories_id = subc.categories_id
我收到一个返回的错误: MySQL错误1054:“字段列表”中的未知列“p.produc1925ts_tax_class_id” 执行时:

SELECT
            p.products_id as v_products_id,
            p.products_model as v_products_model,
            p.products_image as v_products_image,
            p.products_price as v_products_price,
            p.products_sku as v_products_sku,
            p.products_upc as v_products_upc,
            p.products_weight as v_products_weight,
            p.products_date_added as v_date_added,
            p.products_date_available as v_date_avail,
                    -- extra 1925 here
            p.produc1925ts_tax_class_id as v_tax_class_id,
            p.products_quantity as v_products_quantity,
            p.manufacturers_id as v_manufacturers_id,
            subc.categories_id as v_categories_id
            FROM
            zen_products as p,
            zen_categories as subc,
            zen_products_to_categories as ptoc
            WHERE
            p.products_id = ptoc.products_id AND
            p.products_model = 'M150XN05' AND
            ptoc.categories_id = subc.categories_id
发生了什么事额外的“1925”怎么会被放在选择的中间?我不知所措,我已经尝试了所有我能想到的可能导致这种情况的方法


这里的代码是完整的

MySQL并不像您所期望的那样解析隐式连接

(删除引号是因为它是错误的段落,但这是我以前遇到的已知错误!)

为了避免混淆,我建议改用显式联接:

zen_products as p,
zen_categories as subc,
zen_products_to_categories as ptoc
WHERE
p.products_id = ptoc.products_id AND
p.products_model = 'M150XN05' AND
ptoc.categories_id = subc.categories_id
变成

zen_products as p
JOIN zen_products_to_categories as ptoc
    ON p.products_id = ptoc.products_id
JOIN zen_categories as subc
    ON ptoc.categories_id = subc.categories_id
WHERE p.products_model = 'M150XN05'

你能发布你的实际代码吗?以及你的
ep_query
函数吗?这听起来很愚蠢,但是试着删除行并重写它(手动)。类似的事情也发生在我身上,我的文本编辑器没有显示一些随机的unicode字符,但却把代码搞乱了。值得一试。正如Christian所建议的,尝试删除并重新键入。您的编辑器可能没有显示文本中的U+1925字符或类似字符。@rabudde,查询中的注释与本机MySQL扩展配合得很好。我不知道使用显式连接语法是否有助于解决此问题,但我认为您找到的“解释”是完全不相关的。你引用的摘录是关于在一个查询中混合隐式连接和显式连接,这里不是这样。啊,我道歉。我抓错了段落。不过,我确信我的诊断和解决方案是正确的,因为两周前我遇到了完全相同的问题!将立即删除报价,稍后再添加正确的报价。