Есть скрипт он должен проверять ответ сайта из базы по списку, после чего записывает ответ в базу и печатает адрес сайта и ответ. Если в базе только один сайт - то всё работает, сама функция отдельно тоже работает, но при проверке нескольких сайтов проверяет только последний.
3 дня мучаюсь, перепробовал разные функции (getStatus(), get_headers())
<?php
require '../www/connect.php';
function getStatus($url){
$c = curl_init($url);
curl_setopt_array($c, array(
CURLOPT_NOBODY => true,
CURLOPT_FOLLOWLOCATION => true
));
curl_exec($c);
$code = curl_getinfo($c, CURLINFO_HTTP_CODE);
curl_close($c);
return $code;
}
mysql_connect(DATABASE_HOST, DATABASE_USERNAME, DATABASE_PASSWORD);
mysql_select_db(DATABASE_NAME);
echo "скрипт поехал<br>";
$query = "SELECT * FROM saity";
$result = mysql_query($query);
// вот тут начинается цикл который записывает только последний ответ
while($row = mysql_fetch_array($result)) {
$proverka = $row['adres'];
$itog_preverki = getStatus($proverka);
$zapros = "UPDATE saity SET proverka='$itog_preverki' WHERE adres='$proverka'";
$result2 = mysql_query($zapros) or die ("<p>ошибка запроса</p>");
echo $proverka;
echo $itog_preverki;
echo "<br>";
}
?>
Пример ответа :
скрипт поехал
google.com 0
yandex.ru 0
rambler.ru 200