Intereting Posts

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

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

Кажется, что он обновляет мою базу данных с идентификатором, поэтому в случае, когда 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() ; } 

Может ли кто-нибудь увидеть, где я ошибаюсь?

Используйте bindValue вместо bindParam . bindParam берет ссылку на переменную и только считывает ее значение при выполнении запроса. bindValue принимает значение немедленно.