Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 大写FROM导致错误1064_Php_Mysql_Mysql Error 1064 - Fatal编程技术网

Php 大写FROM导致错误1064

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

我有一个已经编写的sql查询,但是from命令是小写的。我喜欢它的格式是大写,但如果我改变它,我会得到错误1064

select、where等也都是小写的,但当我改为大写时,它们工作得很好,只有where语句导致了这种情况

以下是sql:

 $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的语法”-就是这样?“后来什么都没有?”我用萨克林