0

我试图弄清楚为什么我不能在其中包含一个函数。我正在尝试使它$client成为请求字符串的方式。http://test.com/next.xml?file=$client&test=againtest

$client被定义为我数据库中的文本。

function update($pro){
    $request = 'http://test.com/next.xml?file='.$client'&'.'test='.urlencode($pro);;
    $postargs = 'status='.urlencode($pro);
    return $this->process($request,$postargs); 
}

有什么方法可以做到这一点吗?这不会给我任何 PHP 错误,但它不能正常工作。如果我删除'.$client.'它并用纯文本替换它,例如text它可以工作,但是当我将它作为一个函数包含时,它就不起作用了。

4

2 回答 2

4

好像$client没有定义。

如果该变量是在函数范围之外定义的,除非您将其定义为全局变量,否则它将不可用

global $client

但是不鼓励这样做,更好的方法是$client作为参数传递给函数

在这里查看更多关于变量范围的信息http://php.net/manual/en/language.variables.scope.php

于 2009-11-17T11:21:31.403 回答
2

你应该像这样改变你的代码,你忘记了字符串连接:

$request = 'http://test.com/next.xml?file=' . $client . '&test=' . urlencode($pro);

在点和字符串之间使用空格 - 只需为此制定规则。你会看到所有的错别字!

于 2009-11-17T11:27:31.723 回答