0

这段代码是在别人写的脚本中找到的,我被要求编辑。它似乎没有做任何事情..我想知道它到底为什么在那里,如果我删除它,世界上某个地方是否会出现严重错误..

我错过了什么吗?

//begin mystery code - i have no idea what this chunk of code is doing..
$result = mysql_query("SHOW COLUMNS FROM ".$table."");
$i = 0;
if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {
$i++;
}
}
//end mystery code

$result没有在其他任何地方引用..

4

3 回答 3

7

它正在计算数据库表中的列数$table,并将值放入$i

想必,$i是后来用的什么东西?

于 2012-11-22T09:07:55.123 回答
2

它做了两件事:

  1. $i每行增加。
  2. 将每一行存储到其中$row并最终存储false到其中。

所以最后它设置:

  • $i到行数。
  • $rowfalse

但是不要对垃圾代码感到好奇。改为改进它:

$i   = mysql_num_rows($result);
$row = false;

还封装mysql_*调用,以便您以后可以轻松替换它们。如果查询失败,您还应该处理错误情况。

于 2012-11-22T09:11:28.643 回答
0

它似乎唯一要做的就是计算 $i 中的列数。如果脚本中的任何地方都没有使用 $i,您可以删除此代码。

如果无法删除任何代码,还可以在脚本中查找 $row 和 $result 变量使用情况。

于 2012-11-22T09:11:00.403 回答