[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обновление строк в таблице БД
shonny
Здравствуйте, у меня проблема такая. Есть таблица, куда я добавляю данные через файл insert-ом 1 раз, далее нужно просто обновлять строки, где поменялись значения. Структура таблицы ниже, надо обновить поля ip, ping, hostname, ports, mac. Я знаю как обновить одну строку, но как реализовать это для всех строк?
Вот функция вставки
    mysql_select_db("infoip") or die(mysql_error());    
$q= mysql_query ("SELECT * FROM `ip2`");
if (mysql_num_rows($q) == 0){
$fp = fopen('ip2.csv', 'r+'); // чтение и запись
while(!feof($fp)) {
$buffer = fgets($fp, 4096);
list($IP,$Ping,$Hostname,$Ports,$Mac)=explode(",",$buffer);
$sql = "INSERT INTO ip2 (IP, Ping, Hostname, Ports, Mac, date) VALUES('".$IP."','".$Ping."','".$Hostname."','".$Ports."','".$Mac."', NOW())";
mysql_query($sql,$conn) or die(mysql_error());
echo fgets($fp) . "<br />";
}
fclose($fp);
}

Пытался сделать таким же образом update, но не получается
  $g= mysql_query ("SELECT * FROM `ip2`");
$fd = fopen('ip2.csv', 'r+'); // чтение и запись
while(!feof($fd)) {
$buffer = fgets($fd, 4096);
list($IP,$Ping,$Hostname,$Ports,$Mac)=explode(",",$buffer);
$sql_up = "UPDATE ip2 SET Ping = '$Ping', Hostname = '$Hostname', Ports = '$Ports', Mac = '$Mac' WHERE IP = '$IP'";

mysql_query($sql_up) or die(mysql_error());
}
fclose($fd);

Выводит такие ошибки:
Notice: Undefined offset: 4 in F:\xampp\htdocs\PhpProject1\update.php on line 6

Notice: Undefined offset: 3 in F:\xampp\htdocs\PhpProject1\update.php on line 6

Notice: Undefined offset: 2 in F:\xampp\htdocs\PhpProject1\update.php on line 6

Notice: Undefined offset: 1 in F:\xampp\htdocs\PhpProject1\update.php on line 6
Как исправить эти ошибки? Или данный запрос не совсем корректный?
Структура таблицы ip2
user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.