【发布时间】:2014-02-01 20:46:28
【问题描述】:
我有一个 sql 查询已经在主机上运行良好,但在 WAMP 上却没有我收到 SQL 错误 1064,请帮助。
谢谢!
$query = 'SELECT p.products_id, p.products_image, p.products_tax_class_id, p.products_ordered, IF (s.status, s.specials_new_products_price, NULL) AS specials_new_products_price, p.products_price, pd.products_name, p.products_model';
if ( defined('FEATURED_MODUL_SPECIALS_ONLY') AND FEATURED_MODUL_SPECIALS_ONLY == 'true' ) {
$query .= 'FROM ' . TABLE_SPECIALS . ' s LEFT JOIN ' . TABLE_PRODUCTS . ' p ON s.products_id = p.products_id ';
} else {
$query .= 'FROM ' . TABLE_PRODUCTS . ' p LEFT JOIN ' . TABLE_SPECIALS . ' s ON p.products_id = s.products_id ';
}
if ($current_page != FILENAME_DEFAULT) {
$query .= 'LEFT JOIN ' . TABLE_PRODUCTS_DESCRIPTION . " pd ON p.products_id = pd.products_id AND pd.language_id = '" . $languages_id . "'
LEFT JOIN " . TABLE_FEATURED . " f ON p.products_id = f.products_id
WHERE p.products_status = '1' AND f.status = '1' order by rand($mtm) DESC limit " . FEATURED_MODUL_MAX_DISPLAY;
}else{
$query .= 'LEFT JOIN ' . TABLE_PRODUCTS_DESCRIPTION . " pd ON p.products_id = pd.products_id AND pd.language_id = '" . $languages_id . "'
LEFT JOIN " . TABLE_FEATURED . " f ON p.products_id = f.products_id
WHERE p.products_status = '1' AND f.status = '1' order by rand($mtm) DESC limit " . FEATURED_MODUL_MAX_DISPLAY_FIRST_PAGE;
}
我在 WAMP 服务器上遇到错误:
1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“p LEFT JOIN specials s ON p.products_id = s.products_id LEFT JOIN products_descr”附近使用正确的语法
SELECT p.products_id, p.products_image, p.products_tax_class_id, p.products_ordered, IF (s.status, s.specials_new_products_price, NULL) AS specials_new_products_price, p.products_price, pd.products_name, p.products_modelFROM products p LEFT JOIN specials s ON p.products_id = s.products_id 左连接 products_description pd ON p.products_id = pd.products_id AND pd.language_id = '1' 左连接精选 f ON p.products_id = f.products_id WHERE p.products_status = '1' AND f.status = '1' order by rand(12852) DESC 限制 12
[TEP 停止]
【问题讨论】:
-
也许您的本地机器上有不同版本的 MySQL 服务器?
-
在生成的语句中,
FROM之前没有空格。尝试在它之前添加一个空格。