За последние 24 часа нас посетили 15820 программистов и 1668 роботов. Сейчас ищут 770 программистов ...

Закинуть массивы в Mysql таблицу

Тема в разделе "PHP для новичков", создана пользователем sense1, 20 мар 2017.

  1. sense1

    sense1 Новичок

    С нами с:
    16 фев 2017
    Сообщения:
    35
    Симпатии:
    1
    Привет!

    Есть три массива($name[],$lastname[],$email) в каждом из них содержится имена,фамилии и мыло.
    Нужно закинуть каждый массив в колонку с таким же названием в таблице Mysql!

    Подскажите пожалуйста реализацию.

    Заранее спасибо
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.866
    Симпатии:
    753
    Адрес:
    Татарстан
    где ваши наработки?
    общая реализация: берешь цикл - формируешь в нем запрос -запрос вставляет данные в таблицу
     
  3. sense1

    sense1 Новичок

    С нами с:
    16 фев 2017
    Сообщения:
    35
    Симпатии:
    1
    PHP:
    1. $arr = file($file,FILE_IGNORE_NEW_LINES);
    2.  
    3. foreach ($arr as $val){
    4.     $temp = explode(',',$val);
    5.     $ip_arr[] = implode(',',[$temp[0]]);
    6.     $country_arr[] = implode(',',[$temp[1]]);
    7.     $prov_arr[] = implode(',',[$temp[2]]);
    8.   }
    9.   foreach($ as $key => $value) {
    10.     $a = $value;
    11.  
    12.     $value = mysql_real_escape_string($ip_arr[$key]);
    13.  
    14.     $query = "INSERT INTO `data` SET `ip` = '$a'";
    15.  
    16.     mysql_query($query);
    17. }
     
  4. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    Для этого нужно сформировать запрос вида:
    PHP:
    1. "INSERT INTO имя_таблицы ( name, lastname, email ) VALUES ( '".$name[0]."', '".$lastname[0]."', '".$email[0]."' ), ( '".$name[1]."', '".$lastname[1]."', '".$email[1]."' ),( '".$name[2]."', '".$lastname[2]."', '".$email[2]."' )"
    При условии, что все массивы одинаковой длинны и проверять этого не нужно, и массивы проиндексированы стандартным образом, код будет выглядеть примерно так:

    PHP:
    1. $query = "INSERT INTO имя_таблицы ( name, lastname, email ) VALUES ";
    2. for ( $k=0; $k<count($name); $k++ ) {
    3. if ( $k > 0 ) { $query .=", "; }
    4. $query .="( '".$name[$k]."', '".$lastname[$k]."', '".$email[$k]."' )";
    5. }
     
    sense1 нравится это.
  5. sense1

    sense1 Новичок

    С нами с:
    16 фев 2017
    Сообщения:
    35
    Симпатии:
    1