Все столбцы имеют одинаковое значение

Я полностью потерян относительно того, что не так с моим сценарием. Данные JSON поступают корректно, а переменные $ i и $ current - это все, чем они должны быть на каждом этапе forloop.

Кажется, я продолжаю обновлять мою базу данных с помощью идентификатора, поэтому в случае, когда идентификатор равен 11, он обновит все столбцы с номером 11.

Вот мой сценарий:

if($mode == 'SAVE_BUYING_ROW')
{   
    $JSON = (array)$JSON ;

    include('pdoconnect.php') ;
    $result = $dbh->prepare("UPDATE parts_trading_instructions
                 SET quantity = ?, supplierRef = ?, currencyRef = ?, 
                             net = ?, vat = ?, shippingNet = ?,
                 shippingVat = ?, direct = ?, ebayItemNumber = ?
                 WHERE id = ?") ;
    $i = 0 ;
    foreach($JSON as $current) {
        $current = (string)$current ;
        if($i == 0)
        {
            $i++ ;
            continue ;
        }

            $result->bindParam($i, $current, PDO::PARAM_STR) ;  
        $i++ ;
    }

$result->execute() ;

}

Кто-нибудь может увидеть, где я иду не так?

Ответы на вопрос(1)

Решение Вопроса

использованиеbindValue вместоbindParam. bindParam занимаетreference переменной и считывает ее значение только при выполнении запроса.bindValue занимаетvalue немедленно.

Ваш ответ на вопрос