我正在创建一个将用户首字母(STRING)转换为其用户ID(INT)
的函数问题是当我调用函数时我调用了未定义的函数错误,因为下面声明的函数没有在Source中找到的地方!
// 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
当我查看源代码时,函数定义代码(我在其中定义函数)在源代码中无处可见。很奇怪。我尝试将它放在脚本的不同区域,同样的错误。函数定义被适当地声明并包含在其中。
很奇怪。该功能不会出现。报价,语法,分号等等都在其中。
没有语法错误。建议?
答案 0 :(得分:1)
我非常同意答案#1。
此外,如果您在调用函数后定义函数,则会出现常见问题。即你的调用代码在函数定义之前然后它将不会运行并且将给出未定义函数的错误。
您可以创建一个类然后在该类中定义此函数,并且在调用时您可以在$ this-> function(args)的帮助下调用该函数
我认为这样可以解决您的问题,当我尝试在我的机器上运行您的代码时,让我们看看会发生什么
答案 1 :(得分:0)
可能是你的函数是某种类的方法。所以,如果是,你应该以另一种方式使用它:
MyClass::convertRadInitToRadID($radInits) // if static method
或者像这样
$class = new MyClass();
$class ->convertRadInitToRadID($radInits)
答案 2 :(得分:-1)
试图理解你的问题......你是否试图使用JavaScript调用该函数?如果是这样,请记住JavaScript是在浏览器上运行的,并且PHP在服务器上运行(这就是为什么当你“查看源代码”时你没有看到任何地方的功能)。要将数据从JavaScript发送回PHP,您应该使用AJAX。
答案 3 :(得分:-1)
我找到了答案:我使用的是Jquery UI标签....必须与标签冲突。当我在没有标签的情况下运行代码时,没有问题。
感谢'=='修复..欣赏它。我的不好
感谢您提醒我80 char字符代码限制