在PHP中重复使用函数

在PHP中重复使用函数,php,function,reusability,Php,Function,Reusability,我有加密每行ID的代码: class publicfunction { public static function EncryptString($input) { $Key = "KEY_GOES_HERE"; return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $Key, $input, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRY

我有加密每行ID的代码:

class publicfunction {
  public static function EncryptString($input) {
    $Key = "KEY_GOES_HERE";
    return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $Key, $input, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))));
  }
}

// I skipped the code for read the mysql
while($fetch = mysqli_fetch_array($r)) {
  $ProductID = $fetch[0];

  print "<a href='mstpublc.php?id=" . publicfunction::EncryptString($ProductID) . "'>Edit&nbsp;</a>";
}
类公共函数{
公共静态函数EncryptString($input){
$Key=“Key\u转到这里”;
返回修剪(base64_编码(mcrypt_加密(mcrypt_RIJNDAEL_256,$Key,$input,mcrypt_MODE_ECB,mcrypt_create_iv)(mcrypt_get_iv_size(mcrypt_RIJNDAEL_256,mcrypt_MODE_ECB,mcrypt_RAND));
}
}
//我跳过了读取mysql的代码
而($fetch=mysqli\u fetch\u数组($r)){
$ProductID=$fetch[0];
打印“”;
}

$fetch
上有多个数据,但它只返回一行。代码怎么了?但是,当我省略
while
部分上的EncryptString函数时,它将返回
$fetch
上的所有值。仅供参考,虽然在localhost中,它运行良好,但当我上载代码时,它不起作用。

通过在live server上安装mcrypt解决了问题。谢谢大家:)

也许您的live server没有安装mcrypt?我怀疑您已经关闭了register globals,您应该将,
$ProductID
更改为
$fetch['ProductID']
。@Jack:Oic,是的,也许吧。如何将其安装到服务器上?请检查服务器日志中的错误。看起来@Jacks是对的。对不起,我在写线程时出错了。我已经编辑了上面的代码。。