我正在使用symfony2框架开发Web。用户在此Web上载文件(.mdb)。网络读取文件,如果信息正确,则将其传递给数据库。
问题是我尝试使用“ PHP的COM类”。首先,我认为我也忘记了扩展名“ extension = php_com_dotnet.dll”,但没有。
Hay使用此代码读取de mdb
$count =0;
$db_path = $path;
$constr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . $db_path . ";";
$odbc_con = new COM("ADODB.Connection");
$odbc_con -> open($constr);
但是Symfony说我
尝试从C:\ Symfony \ WebD \ src \ PintxoNosti \ MyTellBundle \ Controller \ PintxoController.php第62行的命名空间“ PintxoNosti \ MyTellBundle \ Controller”中加载类“ COM”。是否需要从另一个命名空间“使用”它?
有人知道解决方案吗?或者也许有一些想法在symfony2中读取mdb
谢谢。
在Symfony中,您使用名称空间。假设您想将COM的一个实例制作为一个控制器,比如说MyController。您的控制器PHP文件将以以下规则开头:
namespace AppBundle\Controller;
现在,如果您创建PHP COM类的实例,PHP会将此类搜索到AppBundle \ Controller命名空间中,因为它在全局命名空间中,因此当然找不到该类。
因此,您必须在COM之前添加一个\,以指示可以在全局名称空间中找到该类:
$odbc_con = new \COM("ADODB.Connection");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句