sql >> Base de Datos >  >> RDS >> Mysql

recorrer una matriz multidimensional en php y hacer mysql insert (datos de stock)

Puedes usar un foreach loop y luego referirse al elemento actual del loop. Sería mejor utilizar una declaración preparada. Aquí está la versión PDO:

$stmt = $link->prepare("INSERT INTO table (complete, volume, high, low, close) 
                        VALUES (:complete, :volume, :high, :low, :close)";
$stmt->bindParam(':complete', $complete);
$stmt->bindParam(':volumn', $volume);
$stmt->bindParam(':high', $high);
$stmt->bindParam(':low', $low);
$stmt->bindParam(':close', $close);

foreach ($get_instrument_candles['candles'] as $candle) {
    $complete = $candle['complete'];
    $volume = $candle['volume'];
    $high = $candle['mid']['h'];
    $low = $candle['mid']['l'];
    $close = $candle['mid']['c'];
    $stmt->execute();
}

La versión mysqli se vería así:

$complete = $volume = $high = $low = $close = null;
$stmt = $link->prepare("INSERT INTO table (complete, volume, high, low, close) 
                        VALUES (?, ?, ?, ?, ?)";
$stmt->bind_param("iiiii", $complete, $volume, $high, $low, $close);

El foreach el bucle es el mismo que para PDO.