我试图获得一个基于旧的基于PHP的应用程序,autonomous lan party工作的功能。它基于php4,但它确实符合我希望在php5服务器上执行的操作(它也仅用于Intranet环境)。我添加了一个会计附加from here。我可以理解PHP,但仍然有些生疏。PHP致命错误:调用未定义的方法resultSet :: free()
下面的代码一个小样本,我坚持了...
<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 here上的文件中粘贴了完整的代码(不想用其他所有代码填充此页面)。
任何帮助或援助将不胜感激。应用程序中的其他一切按预期工作。
是'$ data' *真*一个类实例吗?如果是这样,你可能想要提供该类的代码。另外,从哪里调用'mysql_escape_string()'? – Havelock