-2

当我尝试调用函数 func_connect_mssql 时出现此错误。

这是我的代码:

    $func_connect   = 'func_connect_mssql';
    $session = $func_connect($serv, $user, $pass, $base) 
or die("<p class='Perror'>&middot;Failed - err Connect: ".$func_error()."</p>");

如您所见,func_connect 是我用来调用函数的变量,这就是我使用“$func_connect”的原因,我尝试更改它并直接输入函数的名称,但仍然在第二行返回相同的错误.

4

2 回答 2

1

您对自己的代码有些误导:

$func_connect   = 'func_connect_mssql';
$session = $func_connect($serv, $user, $pass, $base) or die("<p class='Perror'>&middot;Failed - err Connect: ".$func_error()."</p>");

相反,您至少应该将其包装在多行中:

$func_connect   = 'func_connect_mssql';
$session = $func_connect($serv, $user, $pass, $base)
    or die("<p class='Perror'>&middot;Failed - err Connect: ".$func_error()."</p>")
    ;

然后错误消息将告诉您错误发生在哪一行。您会惊讶地发现它与您当前认为的位置不同。

由于您的代码看起来有点脆弱,您可能还需要不时添加一些安全网:

$func_connect   = 'func_connect_mssql';

is_callable($func_connect)) or die('Connection Function is not callable!');
is_callable($func_error)) or die('Error function is not callable!');

$session = $func_connect($serv, $user, $pass, $base)
    or die("<p class='Perror'>&middot;Failed - err Connect: ".$func_error()."</p>")
    ;
于 2012-08-16T09:49:51.517 回答
1

尝试这个 :call_user_func()

$func_connect   = 'func_connect_mssql';
$session = call_user_func($func_connect,$serv, $user, $pass, $base) or die("<p class='Perror'>&middot;Failed - err Connect: ".$func_error()."</p>");
于 2012-08-16T09:39:43.990 回答