-1

我正在使用https://github.com/Insightly/insightly-php 并且在将简单变量传递给其中的方法时遇到问题:

require("insightly.php");
$i = new Insightly('my-base64-encoded-api-key');

你知道为什么这里getContacts()似乎看不到变量$lastname吗?

例子:

$lastname = $_GET["lastname"];
$contacts = $i->getContacts(array("filters" => array('LAST_NAME=\'$lastname\'')));

如果我在数组中硬编码一个名称,例如:

$contacts = $i-getContacts(array("filters" => array('LAST_NAME=\'Smith\'')));

它接受它并返回结果,

但是对于变量$lastname它什么都不返回 - 并且没有错误,所以它不能看到它。- 这可能是我的语法错误,但我会感谢任何人指出我正确的方向:)

4

1 回答 1

0

因为您在设置数组时使用了撇号,所以 PHP 会将其解释为文字文本。
因此,数组将读取:

Array ( [filters] => Array ( [0] => LAST_NAME='$lastname' ) )

$contacts应该这样定义:

$contacts = $i->getContacts(array("filters" => array("LAST_NAME=$lastname")));

有关更多信息,请参阅此 SO 线程

于 2015-10-30T16:38:23.523 回答