2014-01-22 6 views
0

Я пытаюсь проанализировать множество HTML-таблиц с URL-адресами, хранящимися в базе данных. Текущая проблема с моим кодом заключается в том, что он будет терпеть неудачу в другой таблице каждый раз. Вот часть кода, который получает ошибку:Parsing HTML Table - PHP

while ($sqlrow = mysqli_fetch_row($res)) { 
echo "Started Processing Table " . $tables . PHP_EOL; 
$tables++; 
$data = file_get_contents($sqlrow[1]); 
$dom->loadHTML($data); 
$dom->preserveWhiteSpace = false; 
$teamtable    = $dom->getElementById("reTeamTable"); 
$teamrows    = $teamtable->getElementsByTagName('tr'); 

Линии, как правило, терпит неудачу либо команда «getElementById» или команда «getElementsByTagName». Ошибка, которую я получаю: «PHP Fatal error: вызов функции-члена getElementsByTagName() для не-объекта в /scouting/teamlist.php в строке 20». Я не понимаю, почему каждый раз возникает ошибка на другом URL-адресе.

+0

Вы объявили '$ dom'? – verbumSapienti

+0

Да, я объявил $ dom – John

ответ

1

Его значение означает, что $ dom не находит элемент с id="reTeamTable" ($teamtable is null). Перед вызовом getElementsByTagName, проверьте $teamtable на пустой.