-1

我正在创建一个将用户首字母 (STRING) 转换为用户 ID (INT) 的函数

问题是当我调用该函数时,我会调用 undefined func 错误,因为在源代码中找不到以下声明的函数!

// connect to database -- this works, I checked it
function convertRadInitToRadID($radInits){
    $sqlGetRadID="SELECT id FROM sched_roster WHERE radInitials == '".$radInits."'";
    $resultGetRadID=mysql_query($sqlGetRadID);
    $radID=mysql_result($resultGetRadID,0);
    return $radID;
}

...然后我创建并排列($radNotOnVacay_and_NonMRNotonVacayWeekBeforeAndAfter)的用户首字母,它可以正常工作我独立测试它

$randKey=rand(0,(count($radNotOnVacay_and_NonMRNotonVacayWeekBeforeAndAfter)-1));
$randRad=$radNotOnVacay_and_NonMRNotonVacayWeekBeforeAndAfter[$randKey];
$randAssignedRadID=convertRadInitToRadID($randRad);  // call to undefined function error here

当我查看源代码时,函数定义代码(我定义函数的地方)在源代码中无处可见。很奇怪。我尝试将它放在脚本的不同区域,同样的错误。函数定义被适当地声明并被包裹在 .

很奇怪。该功能只是没有出现。引号,语法,分号等都在现场。

没有语法错误。建议?

4

4 回答 4

1

我非常同意答案#1。

此外,如果您在调用函数后定义函数,则在 php 中会出现常见问题。即您的调用代码在函数定义之前,那么它将不会运行并且会给出未定义函数的错误。

您可以创建一个类,然后在该类中定义此函数,在调用时您可以在 $this->function(args) 的帮助下调用该函数

我认为这将解决您的问题,而我正在尝试在我的机器上运行您的代码,让我们看看会发生什么

于 2013-02-10T07:07:13.147 回答
0

可能是您的函数是某个类的方法。因此,如果是,您应该以另一种方式使用它:

MyClass::convertRadInitToRadID($radInits) // if static method

或者像这样

$class = new MyClass();
$class ->convertRadInitToRadID($radInits)
于 2013-02-10T06:58:46.183 回答
-1

我找到了答案:我使用的是 Jquery UI 选项卡.... 必须与选项卡发生冲突。当我在没有标签的情况下运行代码时,没有问题。

感谢您的“==”修复……感谢。我的错

感谢您提醒我 80 char varname 代码限制

于 2013-02-10T07:32:56.547 回答
-1

试图理解您的问题...您是否尝试使用 JavaScript 调用该函数?如果是这样,请记住 JavaScript 在浏览器上运行,而 PHP 在服务器上运行(这就是为什么当您“查看源代码”时在任何地方都看不到该函数的原因)。要将数据从 JavaScript 发送回 PHP,您应该使用 AJAX。

于 2013-02-10T07:02:01.013 回答