Как получить данные из массива в строку 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
}