Ошибка MySQL с SQL AS

0

Я получаю следующую ошибку на этой странице при попытке получить информацию из моей базы данных;

У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL для правильный синтаксис для использования рядом с FROM catalog_product_entity cpe внутреннее соединение catalog_product_entity_varchar cpev o ' в строке 5

Код, который я использую, выглядит следующим образом:

include("conn.php");

//Get all products that are configurable
$query  = "SELECT cpe.entity_id entity,
cpe.sku sku,
cpe.category_ids categories,
cpev.value title,
FROM catalog_product_entity cpe inner join catalog_product_entity_varchar cpev on cpe.entity_id = cpev.entity_id
WHERE cpe.type_id = 'configurable' LIMIT 0,30";
$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_assoc($result))
{
    echo "id :{$row['entity']} <br>" .
         "sku :{$row['sku']} <br>" .
         "value :{$row['title']} <br>" .
         "Categories : {$row['categories']} <br>";
} 

То, что я пытаюсь сделать, - это получить продукты из базы данных magento для отображения на сайте, отличном от magento.

Теги:
magento
mysql-error-1064

2 ответа

2
Лучший ответ

У вас просто есть болтающаяся запятая в конце выбранных полей, перед предложением FROM:

cpev.value title,

должен быть:

cpev.value title
  • 1
    О чувак. Я готов идти домой! Ха. Спасибо. : D
0

Другим подходом было бы использование классов Magento для формирования запроса для вас.

require 'app/Mage.php';
Mage::app();

$products = Mage::getModel('catalog/product')
    ->getCollection()
    ->addAttributeToFilter('type_id', 'configurable')
    ->setPage(30, 0);

foreach ($products as $product) {
    echo nl2br("id: {$product->getId()}
        sku: {$product->getSku()}
        value: {$product->getTitle()}
        Categories: {$product->getCategoryIds()}");
}

Преимущество заключается в том, что он автоматически использует правильные учетные данные базы данных, даже если они изменены. Вы также можете воспользоваться такими методами, как $product->getCategoryCollection(), если вы хотите получить имена категорий или любые другие детали.

У этого способа есть накладные расходы на загрузку Magento, что может сделать вашу страницу немного медленнее.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню