Php 跨数据库加入joomla
我有两个具有相同凭据的独立数据库:db1有一个表,其中有一列包含文件路径,我需要使用存储在db2中的文件名构建文件路径,并且可以使用ID检索文件路径。 ID在Joomla Fabrik表单中设置,提交时运行PHP函数并将ID存储在db1中。 我已经在表单提交php plgin上设置了以下代码,但是当我提交表单时,filepath列中并没有我预期的任何更改:Php 跨数据库加入joomla,php,mysql,joomla3.0,Php,Mysql,Joomla3.0,我有两个具有相同凭据的独立数据库:db1有一个表,其中有一列包含文件路径,我需要使用存储在db2中的文件名构建文件路径,并且可以使用ID检索文件路径。 ID在Joomla Fabrik表单中设置,提交时运行PHP函数并将ID存储在db1中。 我已经在表单提交php plgin上设置了以下代码,但是当我提交表单时,filepath列中并没有我预期的任何更改: $galleryId = '{field_placeholder}'; if (!empty($galleryId)) { $myD
$galleryId = '{field_placeholder}';
if (!empty($galleryId)) {
$myDb = JFactory::getDbo();
$myQuery = "
UPDATE db1.table1
SET db1.table1.filepath =
CONCAT('/path/', db2.table2.imgfilename)
WHERE db2.table2.id = '$galleryId'
";
$myDb->setQuery($myQuery);
$myDb->execute();
}
其中,caduti\uuuuu id\u joomgallery
是id完整元素名(fabrik占位符),galleryID
是db2中存储在db1中用于进行连接的图像参考号。表单存储在db2(joomla系统数据库)中
编辑:
我能够设置一个sql查询,该查询在phpmyadmin中按预期工作。我已经用实际值替换了$galleryID
。
但是当我将查询放入php代码中时,它在mozilla控制台中返回一个500服务器错误
$galleryId = '{field_placeholder}';
if (!empty($galleryId)) {
$myDb = JFactory::getDbo();
$myQuery = "
UPDATE db1.table1
SET filepath= CONCAT("/path/",(SELECT imgfilename FROM db2.table2 where id=$galleryId))
WHERE id_gallery = $galleryId
";
$myDb->setQuery($myQuery);
$myDb->execute();
}
有什么想法吗?你可能也想考虑一下这个问题,请阅读和行动。我立即想知道$galleryId、db1.caduti和db2.xxx_joomgallery的值是多少&一个简单的查询或更新是否有效。还有“尝试了这个函数”和“什么都没发生”的意思;退出并手动将其放入数据库中。我很确定,
WHERE db2.xxx_joomgallery.id='{caduti_uu_uid_joomgallery_raw}
不是您想要的。我已经按照要求编辑了代码,并研究了现在可以工作的sql查询。但是PHP代码没有,所以我需要更多的帮助。你可能也想考虑这个问题,请阅读和行动。我立即想知道$galleryId、db1.caduti和db2.xxx_joomgallery的值是多少&一个简单的查询或更新是否有效。还有“尝试了这个函数”和“什么都没发生”的意思;退出并手动将其放入数据库中。我很确定,WHERE db2.xxx_joomgallery.id='{caduti_uu_uid_joomgallery_raw}
不是您想要的。我已经按照要求编辑了代码,并研究了现在可以工作的sql查询。但是php代码没有,所以我需要进一步的帮助。