2012-11-22 46 views
0

這段代碼是在其他人寫到我被要求編輯的腳本中發現的。它似乎沒有做任何事情..我想知道爲什麼在地球上它在那裏,如果世界上某個地方會去除可怕的錯誤,如果我刪除它..PHP中的神祕代碼

我錯過了什麼嗎?

//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沒有其他地方引用..

+2

很容易將其刪除 – vlcekmi3

+1

基本上它所做的是檢查結果是否有結果,並且它的功能更多,它通過循環運行。但是,它似乎不能打印/回顯或執行任何超出此範圍的內容。它只是我++,它只是增加了我的價值。所以,如果我看一下這個,它就是一個普通的僞造鱈魚。但我得說,我必須看到完整的代碼才能將其置於上下文中。 – Dorvalla

+0

@Dorvalla我甚至都沒有想過這件事,現在你提到它了,我確實找到了一個for($ j = 0; $ j <$ i; $ j ++){'稍微向下。乾杯。 –

回答

2

它做了兩兩件事:

  1. 增加$i每行。
  2. 將每行存入$row並最後將其存入false中。

所以最後它設置:

  • $i到的行數。
  • $rowfalse

但不感到驚奇垃圾代碼太多。改爲改爲:

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

還封裝了mysql_*調用,以便日後輕鬆替換它們。如果查詢失敗,您還應該處理錯誤情況。

7

它的票在數據庫表$table列數,並把該值$i

據推測,$i以後使用的東西?

0

似乎要做的只是計算$ i中的列數。如果腳本中沒有使用$ i,則可以刪除此代碼。

如果沒有代碼可以被刪除,還可以在腳本中查找$ row和$ result變量。