Php 大写FROM导致错误1064
我有一个已经编写的sql查询,但是from命令是小写的。我喜欢它的格式是大写,但如果我改变它,我会得到错误1064 select、where等也都是小写的,但当我改为大写时,它们工作得很好,只有where语句导致了这种情况 以下是sql:Php 大写FROM导致错误1064,php,mysql,mysql-error-1064,Php,Mysql,Mysql Error 1064,我有一个已经编写的sql查询,但是from命令是小写的。我喜欢它的格式是大写,但如果我改变它,我会得到错误1064 select、where等也都是小写的,但当我改为大写时,它们工作得很好,只有where语句导致了这种情况 以下是sql: $listing_sql = "SELECT " . $select_column_list . "p.products_id, p.products_model, p.manufacturers_id, p
$listing_sql = "SELECT " . $select_column_list .
"p.products_id, p.products_model, p.manufacturers_id, p.products_price, " .
"p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as " .
"specials_new_products_price, IF(s.status, s.specials_new_products_price, " .
"p.products_price) as final_price ".
"FROM " .
TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p left join " .
TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id left join " .
TABLE_SPECIALS . " s on p.products_id = s.products_id, " .
TABLE_PRODUCTS_TO_CATEGORIES . " p2c WHERE p.products_status = '1' AND " .
"p.products_id = p2c.products_id and pd.products_id = p2c.products_id and " .
"pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" .
(int)$current_category_id . "'";
下面是echo启动时sql的样子:
SELECT p.products_image,
pd.products_name,
p.products_id,
p.products_model,
p.manufacturers_id,
p.products_price,
p.products_tax_class_id,
IF(s.status, s.specials_new_products_price, NULL) AS
specials_new_products_price,
IF(s.status, s.specials_new_products_price, p.products_price) AS
final_price
FROM products_description pd,
products p
LEFT JOIN manufacturers m
ON p.manufacturers_id = m.manufacturers_id
LEFT JOIN specials s
ON p.products_id = s.products_id,
products_to_categories p2c
WHERE p.products_status = '1'
AND p.products_id = p2c.products_id
AND pd.products_id = p2c.products_id
AND pd.language_id = '1'
AND p2c.categories_id = '36'
尝试加入产品:
SELECT p.products_image,
pd.products_name,
p.products_id,
p.products_model,
p.manufacturers_id,
p.products_price,
p.products_tax_class_id,
IF(s.status, s.specials_new_products_price, NULL) AS specials_new_products_price,
IF(s.status, s.specials_new_products_price, p.products_price) AS final_price
FROM products_description pd
LEFT JOIN manufacturers m
ON p.manufacturers_id = m.manufacturers_id
LEFT JOIN specials s
ON p.products_id = s.products_id,
products_to_categories p2c
LEFT JOIN products p ON ( p.products_id = p2c.products_id )
WHERE p.products_status = '1'
AND p.products_id = p2c.products_id
AND pd.products_id = p2c.products_id
AND pd.language_id = '1'
AND p2c.categories_id = '36'
尝试加入产品:
SELECT p.products_image,
pd.products_name,
p.products_id,
p.products_model,
p.manufacturers_id,
p.products_price,
p.products_tax_class_id,
IF(s.status, s.specials_new_products_price, NULL) AS specials_new_products_price,
IF(s.status, s.specials_new_products_price, p.products_price) AS final_price
FROM products_description pd
LEFT JOIN manufacturers m
ON p.manufacturers_id = m.manufacturers_id
LEFT JOIN specials s
ON p.products_id = s.products_id,
products_to_categories p2c
LEFT JOIN products p ON ( p.products_id = p2c.products_id )
WHERE p.products_status = '1'
AND p.products_id = p2c.products_id
AND pd.products_id = p2c.products_id
AND pd.language_id = '1'
AND p2c.categories_id = '36'
一个(受过教育的)猜测是你正在谈论一个OsCommerce安装
如果不是这样的话,你可能正在使用一些曾经从它身上分叉的东西(或者它的前置者,tep)
您遇到的问题可能是因为splitPageResults
类中的构造函数使用了区分大小写的strpos
,而不是区分大小写的stripos
所以。。。长短不一是,
如果这确实是oscommerce:
编辑两个split_page_results.php文件(1:/catalog/classes/split_page_results.php,2:/catalog/admin/classes/split_page_results.php) 并在构造函数中用stripos替换strpos i、 e.变化
$pos_from = strpos($this->sql_query, ' from', 0);
到
如果这不是osCommerce,那么就找一些类似的东西
php文档和一个(受过教育的)猜测是您正在谈论一个OsCommerce安装
如果不是这样的话,你可能正在使用一些曾经从它身上分叉的东西(或者它的前置者,tep)
您遇到的问题可能是因为splitPageResults
类中的构造函数使用了区分大小写的strpos
,而不是区分大小写的stripos
所以。。。长短不一是,
如果这确实是oscommerce:
编辑两个split_page_results.php文件(1:/catalog/classes/split_page_results.php,2:/catalog/admin/classes/split_page_results.php) 并在构造函数中用stripos替换strpos i、 e.变化
$pos_from = strpos($this->sql_query, ' from', 0);
到
如果这不是osCommerce,那么就找一些类似的东西
php doc for and我可以问一下为什么使用表中的
,表2左连接表3
语法吗?这很容易导致错误。确切的错误消息是什么?您运行的SQL与您在编辑问题中提出的完全相同吗?注意到您将其从原始的echo转储更改为“…使用near的语法”-就是这样?后来什么都没有?@Sackling我用过,请问你为什么用表中的,表2左连接表3
语法?这很容易导致错误。确切的错误消息是什么?您运行的SQL与您在编辑问题中提出的完全相同吗?注意到您将其从原始的echo转储更改为“…使用near的语法”-就是这样?“后来什么都没有?”我用萨克林