PHP Fatal error:Uncaught exception 'PHRETS\Exceptions\RETSException' with message 'Missing open parenthesis in subquery
PHP Fatal error:Uncaught exception 'PHRETS\Exceptions\RETSException' with message 'Missing open parenthesis in subquery
我正在使用 PHRETS PHP 库从 rets API 中获取 RETS 数据。我有获取数据的问题。它给出了“PHP 致命错误:/XXXX/vendor/troydavisson/phrets/src/Session.php:379 中带有消息 'Missing open parenthesis in subquery. Reference ID: fc63ca3e-c8a8-44cf-a0ce-4c729ce91fcc' 的未捕获异常 'PHRETS\Exceptions\RETSException'”。请帮助解决此错误。我的代码是:
<pre><code>
date_default_timezone_set('America/New_York');
require_once("vendor/autoload.php");
$config = new \PHRETS\Configuration;
$config->setLoginUrl('http://sef.rets.interealty.com/Login.asmx/Login');
$config->setUsername('XXXX');
$config->setPassword('XXXX');
// optional. value shown below are the defaults used when not overridden
$config->setRetsVersion('1.7.2'); // see constants from \PHRETS\Versions\RETSVersion
$config->setUserAgent('RETS-Connector/1.2');
$config->setUserAgentPassword('123456'); // string password, if given
$config->setOption('use_post_method', false); // boolean
$config->setOption('disable_follow_location', false); // boolean
$session = new \PHRETS\Session($config);
$connect = $session->Login();
$system = $session->GetSystemMetadata();
//var_dump($system);
$resources = $system->getResources();
$classes = $resources->first()->getClasses();
//var_dump($classes);
$classes = $session->GetClassesMetadata('Property');
//var_dump($classes->first());
$results = $session->Search("Property", "2", "*", ['Limit' => 3, 'Select' => '922']);
foreach ($results as $r) {
var_dump($r);
}
</pre></code>
它返回错误:
[2017 年 3 月 11 日 06:32:59 America/New_York] PHP 致命错误:未捕获异常 'PHRETS\Exceptions\RETSException',消息 'Missing open parenthesis in subquery. Reference ID: fc63ca3e-c8a8-44cf-a0ce-4c729ce91fcc' 在 /home2/XXXX/vendor/troydavisson/phrets/src/Session.php:379
堆栈跟踪:
0 /home2/XXXX/vendor/troydavisson/phrets/src/Session.php(297): PHRETS\Session->请求('Search', 数组)
1 /home2/XXXX/index.php(34): PHRETS\Session->搜索('Property', '2', '*', 数组)
2 {主要}
放在 /home2/XXXX/vendor/troydavisson/phrets/src/Session.php 第 379 行
只有少数服务器支持使用星号通过 RETS 执行搜索。在所有其他情况下,需要给出一个用括号括起来的普通查询。
RETS使用的查询结构可以看这篇教程简单介绍:
https://www.flexmls.com/developers/rets/tutorials/dmql-tutorial/
对于那个特定的服务器,一个让你开始的例子可能是:
(sysid=0+)
我正在使用 PHRETS PHP 库从 rets API 中获取 RETS 数据。我有获取数据的问题。它给出了“PHP 致命错误:/XXXX/vendor/troydavisson/phrets/src/Session.php:379 中带有消息 'Missing open parenthesis in subquery. Reference ID: fc63ca3e-c8a8-44cf-a0ce-4c729ce91fcc' 的未捕获异常 'PHRETS\Exceptions\RETSException'”。请帮助解决此错误。我的代码是:
<pre><code>
date_default_timezone_set('America/New_York');
require_once("vendor/autoload.php");
$config = new \PHRETS\Configuration;
$config->setLoginUrl('http://sef.rets.interealty.com/Login.asmx/Login');
$config->setUsername('XXXX');
$config->setPassword('XXXX');
// optional. value shown below are the defaults used when not overridden
$config->setRetsVersion('1.7.2'); // see constants from \PHRETS\Versions\RETSVersion
$config->setUserAgent('RETS-Connector/1.2');
$config->setUserAgentPassword('123456'); // string password, if given
$config->setOption('use_post_method', false); // boolean
$config->setOption('disable_follow_location', false); // boolean
$session = new \PHRETS\Session($config);
$connect = $session->Login();
$system = $session->GetSystemMetadata();
//var_dump($system);
$resources = $system->getResources();
$classes = $resources->first()->getClasses();
//var_dump($classes);
$classes = $session->GetClassesMetadata('Property');
//var_dump($classes->first());
$results = $session->Search("Property", "2", "*", ['Limit' => 3, 'Select' => '922']);
foreach ($results as $r) {
var_dump($r);
}
</pre></code>
它返回错误: [2017 年 3 月 11 日 06:32:59 America/New_York] PHP 致命错误:未捕获异常 'PHRETS\Exceptions\RETSException',消息 'Missing open parenthesis in subquery. Reference ID: fc63ca3e-c8a8-44cf-a0ce-4c729ce91fcc' 在 /home2/XXXX/vendor/troydavisson/phrets/src/Session.php:379 堆栈跟踪:
0 /home2/XXXX/vendor/troydavisson/phrets/src/Session.php(297): PHRETS\Session->请求('Search', 数组)
1 /home2/XXXX/index.php(34): PHRETS\Session->搜索('Property', '2', '*', 数组)
2 {主要}
放在 /home2/XXXX/vendor/troydavisson/phrets/src/Session.php 第 379 行
只有少数服务器支持使用星号通过 RETS 执行搜索。在所有其他情况下,需要给出一个用括号括起来的普通查询。
RETS使用的查询结构可以看这篇教程简单介绍:
https://www.flexmls.com/developers/rets/tutorials/dmql-tutorial/
对于那个特定的服务器,一个让你开始的例子可能是:
(sysid=0+)