Можете да включите във вашия цикъл mysql_ping()
функция. Тази функция проверява дали връзката е отворена и ако не е, се свързва отново.
Използвайки собствен пример, можете да направите нещо като:
foreach($array as $value) {
mysql_ping($dbconn);
$sql="insert into collected values('".$value."')";
$res=mysql_query($sql);
//then some extra code.
}
Редактиране :Трябва да се отбележи, че според документите след MySQL 5.0.14 PHP не се свързва автоматично. Ако използвате по-нова версия на MySQL, ще трябва да поставите своя собствена логика на свързване, може би така (не съм тествал):
function check_dbconn($connection) {
if (!mysql_ping($connection)) {
mysql_close($connection);
$connection = mysql_connect('server', 'username', 'password');
mysql_select_db('db',$connection);
}
return $connection;
}
foreach($array as $value) {
$dbconn = check_dbconn($dbconn);
$sql="insert into collected values('".$value."')";
$res=mysql_query($sql, $dbconn);
//then some extra code.
}