2013-02-10 55 views
-1

我创建一个用户的缩写(string)将自己的用户ID(INT)功能功能将字符串转换为整数 - 调用未定义的函数

问题是,当我调用该函数,我得到一个呼叫未定义的函数错误,因为下面声明的函数没有在源中找到的地方!用户缩写

// 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 

当我观看源函数定义码(其中,我定义函数)无法在源代码中看到。很奇怪。我试着把它放在脚本的不同区域,同样的错误。函数定义被适当地声明并被包装。

很奇怪。该功能没有出现。报价,语法,分号等等都是现货。

没有语法错误。建议吗?

+2

第一变“radInitials ==”到“radInitials =” – 2013-02-10 06:53:10

+2

'$ radNotOnVacay_and_NonMRNotonVacayWeekBeforeAndAfter'不是一个可接受的变量名。你希望不超过80个字符的限制? – 2013-02-10 07:00:50

回答

0

可能是你的函数是某些类的方法。所以,如果是,你应该以另一种方式使用它:

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

或类似这样的

$class = new MyClass(); 
$class ->convertRadInitToRadID($radInits) 
-1

试图让你的问题的感觉...你是不是想打电话使用JavaScript函数?如果是这样,请记住JavaScript在浏览器上运行,并且PHP在服务器上运行(这就是为什么当你“查看源代码”时你没有在任何地方看到该功能)。要将数据从JavaScript发回PHP,您应该使用AJAX。

+0

这应该是一个评论,而不是一个答案。 – 2013-02-10 07:06:23

1

我非常同意答案#1。

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

您可以创建再类在类和调用你可以调用函数的$这个 - 帮助>函数(参数)

我认为这将解决问题的时间定义此功能意思是当我试图在我的机器上运行你的代码时,让我们看看发生了什么

-1

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

感谢您的'=='修复..欣赏它。我的坏

谢谢你提醒我关于80字符VARNAME码限制