Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 跨数据库加入joomla_Php_Mysql_Joomla3.0 - Fatal编程技术网

Php 跨数据库加入joomla

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

我有两个具有相同凭据的独立数据库:db1有一个表,其中有一列包含文件路径,我需要使用存储在db2中的文件名构建文件路径,并且可以使用ID检索文件路径。 ID在Joomla Fabrik表单中设置,提交时运行PHP函数并将ID存储在db1中。 我已经在表单提交php plgin上设置了以下代码,但是当我提交表单时,filepath列中并没有我预期的任何更改:

$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代码没有,所以我需要进一步的帮助。