我试图让一个函数在一个旧的基于 php 的应用程序上运行,自治局域网方。它基于 php4,但它确实可以在 php5 服务器上执行我希望它执行的操作(它也仅用于 Intranet 环境)。我正在从这里添加一个会计插件。我能理解php,但还是有些生疏。
下面是我坚持使用的一小段代码示例......
<FORM ACTION="<?php echo $_SERVER['PHP_SELF']; ?>" METHOD="post" NAME="accounting" ID="accounting">
<strong>user: </strong><br>
<SELECT NAME="userid[]" SIZE="5" class="formcolors" TABINDEX="1" MULTIPLE>
<?php
$data = $dbc->query('SELECT username,userid FROM users ORDER BY username');
while ( $row = $data->fetchRow()) {
$option = '
<OPTION VALUE="%s" class="formcolors">%s</OPTION>';
printf($option, $row['userid'], $row['username']);
}
$data->free();
unset($option, $data);
?>
</SELECT>
问题是一旦到达 te$data->free();
行,脚本就会停止执行并提供主题中提到的错误。如果我将其注释掉(两次,有类似的行)脚本运行,但一旦我提交数据,我在日志文件中得到另一个错误......
PHP Warning: mysql_escape_string() expects parameter 1 to be string, array given
我相信这个错误是因为我已经注释掉了$data->free();
所以它不能得到正确的结果。
我在这里粘贴了 pastebin 文件中的完整代码(不想用所有其他代码填充此页面)。
任何帮助或帮助将不胜感激。应用程序上的其他所有内容都按预期工作。