Как получить данные из массива в строку php

Есть проблема с массивом php. Я пытаюсь отправить запрос get_headers() с путями, записанными в массив переменной $. Ответ. Я хочу записать в базу данных MySQL, провел уже несколько часов, но не нашел, как это сделать. Он возвращает только 1 результат, но если эхо-результаты из массива - можно увидеть, например, 3 результата. Пожалуйста, помогите мне кто-нибудь:)

    foreach($array_variable as $variable) {
$url = "http://".$site.$variable;
$file_headers = @get_headers($url);
if($file_headers[0] == 'HTTP/1.1 200 OK') {

    $test = $url;
     echo $test;  //here it works fine, I can see all available results
      $sql = mysql_query("INSERT INTO table (col_1, col_2) VALUES ($smthing, $test)"); //here problem is that result duplicates many-many times

}
 echo $test; //but here I have problems, can see only 1 result (last one)
 $sql = mysql_query("INSERT INTO table (col_1, col_2) VALUES ($smthing, $test)"); //here problem is, only 1 result goes to our database

1 ответ

Решение

Перво-наперво, не используйте MySQL его не рекомендуется.

использование MySQLi (я для улучшения) http://www.php.net/manual/en/book.mysqli.php

Вы используете foreach на array переменных, поэтому для каждой переменной это будет INSERT в базу данных, сколько variables находятся в array?

Что $smthing?

Вы говорите array содержит только 3 значения, но вы получите более 30 INSERTS может случиться так, что вы не закрываете foreach это нужно } или что вы получаете несколько ответов от headers,

Если вы эхо за пределами foreach В цикле вы увидите только последнее значение массива.

Это может также помочь /questions/30367642/getheaders-nesootvetstvie/30367648#30367648

Попробуй это:

foreach($array_variable as $variable) {
    $url = "http://".$site.$variable;
    $file_headers = @get_headers($url);
    if($file_headers[0] == 'HTTP/1.1 200 OK') {

    $test = $url;
    echo $test;  //here it works fine, I can see all available results
    $sql = mysql_query("INSERT INTO table (col_1, col_2) VALUES ($smthing, $test)");     //here problem is that result duplicates many-many times
    }

}

Также стоит попробовать это без условного утверждения

Каковы ваши результаты?

foreach($array_variable as $variable) {
    $url = "http://".$site.$variable;
    $file_headers = @get_headers($url);

    $test = $url;
    echo $test;  //here it works fine, I can see all available results
    $sql = mysql_query("INSERT INTO table (col_1, col_2) VALUES ($smthing, $test)");     //here problem is that result duplicates many-many times


}
Другие вопросы по тегам