Ошибка MySQL с SQL AS - PullRequest
       24

Ошибка MySQL с SQL AS

0 голосов
/ 08 октября 2010

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

У вас ошибка в синтаксисе SQL; проверьте руководство, которое соответствует ваша версия сервера MySQL для правильный синтаксис для использования рядом с 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 для отображения на немагенто-сайте.

Ответы [ 2 ]

2 голосов
/ 08 октября 2010

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

cpev.value title,

должно быть:

cpev.value title
0 голосов
/ 10 октября 2010

Другой подход заключается в использовании классов 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, что может сделать вашу страницу немного медленнее.

...