綜觀通知,您可能需要採取在現場名稱細看,因爲所有它的意思是,沒有servername
指數$row
,這表明存在表
嘗試沒有servername
場var_dump(array_keys($row));
循環內,並糾正你的錯字,或只是檢查你的tbl。
另外:mssql_fethc_array
獲取的結果作爲數字索引陣列和默認關聯數組,因爲你只assoc命令後陣的時候,我建議使用mssql_fetch_assoc
代替,或mssql_fetch_object
,如果對象不要嚇你;)
從文檔:
Returns an associative array that corresponds to the fetched row and moves the internal data pointer ahead. mssql_fetch_assoc() is equivalent to calling mssql_fetch_array() with MSSQL_ASSOC for the optional second parameter.
因此,要麼:
while($row = mssql_fetch_assoc($result)){}
//or
while($row = mssql_fetch_array($result, MSSQL_ASSOC)){}
將導致$row
成爲關聯數組只有
您現在也有效,但我認爲它沒有意義(因爲您沒有使用它們,所以不需要數字索引)。
雖然看到,因爲你只是建立一個表中的值:
while($row = mssql_fetch_array($result,MSSQL_NUM))
{
echo vprintf('<tr>'. str_repeat('<td>%s</td>', count($row)).'</tr>', $row);
}
做到了這一點,無論如何,但有在數組鍵沒有錯字的風險。
請注意:像我這裏使用的單行遊戲時要小心,在這種情況下,這個語句不會太長,而且仍然非常可讀,但如果您使用這樣的東西太多,同事會詛咒並建議您去寫mindulck而不是
這將有助於如果您還貼出了$結果值 –
了'提取物()'函數是完全沒有必要在這裏。問題在於你的行不包含名爲'servername'的字段。通過執行一個'print_r($ row)'來檢查它包含的內容' – Spudley
'servername'是你的查詢返回的字段嗎?看起來它不是查詢的一部分。 – hdvianna