スクリプトの何が問題なのか、完全にわかりません。JSON データは正しく入力され、変数 $i と $current はすべて、forloop のすべての段階で本来あるべき状態になっています。
データベースを ID で更新し続けているように見えるので、ID が 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() ;
}
誰が私が間違っているのかを見ることができますか?