@GRO24

Запись в базу foreach?

Всем привет!
Пытаюсь записать данные в БД с помощью фореач, но в БД записывается только 1 результат - последний по перебору
$coins = array("bitcoin","ethereum","ripple");



			foreach($coins as $value)
		        {
		        	

		        	
		        	$url = file_get_contents('https://api.coingecko.com/api/v3/coins/'.$value.'');
		        	$coinGeko = json_decode($url,true);
		        	if($coinGeko == NULL){
		        		echo 'GEKO HTTP request';
		        		exit();
		        	}


		        	$symbol = $coinGeko['symbol'];
		        	$name = $coinGeko['name'];

		        	$price_usd = sprintf('%0.8f', $coinGeko['market_data']['current_price']['usd']);



					//записываем 
					$mysql = mysql_connect( $db_host, $db_username, $db_password );
					    if ( $mysql ) {
					        $db = mysql_select_db( $db_name, $mysql );
					        if ( $db ) {
					            @mysql_query( "SET NAMES utf8", $mysql );
					            $select = mysql_query( "UPDATE coins_info SET
					                `name`='{$price_usd}'
					                

									
					                ", $mysql );
					        }
					    }











				}


Подскажите, пожалуйста, что не так? Как видим я выгружаю 3 запроса, а записывается только последний результат
  • Вопрос задан
  • 129 просмотров
Пригласить эксперта
Ответы на вопрос 3
ns174ru
@ns174ru
https://ns174.ru
UPDATE coins_info SET `name`='{$price_usd}' WHERE ...
Ответ написан
@MrFeaf
PHP-developer
Также вынесите mysql_connect и mysql_select_db из цикла. Установите соединение один раз и используйте его, но в идеале конечно вообще отказаться от mysql функций в пользу mysqli либо PDO.
Ответ написан
@GRO24 Автор вопроса
Разобрался, автоинкремент не поставил в мускуле
Спасибо.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы