我正在开发PhpStorm来开发我的Prestashop网站,我无法解决这个问题.我在localhost上工作并成功将PhpStorm连接到我的MySQL服务器.
现在,PhpStorm会抛出诸如"无法解析表'$ {_ DB_PREFIX_} cms'"之类的警告.Prestashop使用表名的前缀,似乎PhpStorm无法解析那些带前缀的表.
这有解决方法吗?
以下是Prestashop-1.6源代码示例:
$sql = 'SELECT c.`id_cms`, cl.`meta_title`, cl.`link_rewrite` FROM `'._DB_PREFIX_.'cms` c INNER JOIN `'._DB_PREFIX_.'cms_shop` cs ON (c.`id_cms` = cs.`id_cms`) INNER JOIN `'._DB_PREFIX_.'cms_lang` cl ON (c.`id_cms` = cl.`id_cms`) WHERE c.`id_cms_category` = '.(int)$id_cms_category.' AND cs.`id_shop` = '.(int)$id_shop.' AND cl.`id_lang` = '.(int)$id_lang. $where_shop.' AND c.`active` = 1 ORDER BY `position`';
这不起作用的原因是因为您最有可能只加载一个模式,您需要加载 information_schema.*
要执行此操作,请转到右上角的数据库选项卡,并在其中添加MySQL数据库,然后右键单击并选择属性.
现在您将有一个名为的屏幕Data Sources and Drivers
,它应该在一个名为的选项卡上打开General
,单击所调用的第三个选项卡Schemas
,然后添加information_schema.*
到此加载的模式列表中.
单击"应用"即可,然后PhpStorm现在将知道您的数据库结构,然后能够智能地与您合作,从而消除所有错误.