意想不到的T_STRING在普雷斯塔普


unexpected T_STRING in prestashop

public static function getPressRelease()
{
$res = Db::getInstance()->executeS('
        SELECT az.id_album, az.type, az.description, az.id_custom_pages, as.id_image, as.id_album , as.youtube, cp.custom_page_type, cp.title_custom_page
            FROM `'._DB_PREFIX_.'azgallery_album` AS az
            LEFT JOIN `'._DB_PREFIX_.'azgallery` AS ag
            LEFT JOIN `'._DB_PREFIX_.'custom_pages` AS cp WHERE cp.custom_page_type = 'gallery''); 
            return $res;
}

这行给我抛出了错误 解析错误:语法错误、进程中出现意外T_STRING.php第 121 行

最后一行使用 ' 作为库字符串,它会破坏整个 SQL 字符串。请尝试以下操作:

public static function getPressRelease()
{
$res = Db::getInstance()->executeS('
        SELECT az.id_album, az.type, az.description, az.id_custom_pages, as.id_image, as.id_album , as.youtube, cp.custom_page_type, cp.title_custom_page
            FROM `'._DB_PREFIX_.'azgallery_album` AS az
            LEFT JOIN `'._DB_PREFIX_.'azgallery` AS ag
            LEFT JOIN `'._DB_PREFIX_.'custom_pages` AS cp WHERE cp.custom_page_type = "gallery"'); 
            return $res;
}

你扭曲了单引号。

对查询的最后一段使用双引号,如下所示:

public static function getPressRelease()
{
$res = Db::getInstance()->executeS('
        SELECT az.id_album, az.type, az.description, az.id_custom_pages, as.id_image, as.id_album , as.youtube, cp.custom_page_type, cp.title_custom_page
            FROM `'._DB_PREFIX_.'azgallery_album` AS az
            LEFT JOIN `'._DB_PREFIX_.'azgallery` AS ag
            LEFT JOIN `'._DB_PREFIX_.'custom_pages` AS cp WHERE cp.custom_page_type = ' . "'gallery'"); 
            return $res;
}