j'essaye de faire un UPDATE dans ma base de donné de stock sauf que j 'ai une erreur en retour:
Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of token.
Je pensai que c'etait une variable manquante mais non.
je cherche depuis 2 jours mais la mon cerveau ce liquéfie
Voici mon code
Code : Tout sélectionner
// mise à jour du stock
$stockSelectSql = 'SELECT stock FROM item WHERE itemNumber = :itemNumber';
$stockSelectStatement = $conn->prepare($stockSelectSql);
$stockSelectStatement->execute(['itemNumber' => $itemNumber]);
if($stockSelectStatement->rowCount() > 0) {
$row = $stockSelectStatement->fetch(PDO::FETCH_ASSOC);
$initialStock = $row['stock'];
$newStock = $initialStock - $itemDetailsQuantity;
} else {
// Item is not in DB. Therefore, stop the update and quit
$errorAlert = '<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">×</button>Item Number does not exist in DB. Therefore, update not possible.</div>';
$data = ['alertMessage' => $errorAlert];
echo json_encode($data);
exit();
}
// Construct the UPDATE query
$updateItemDetailsSql = "UPDATE `item` SET `itemName`=':itemName',`discount`=':discount',`stock`=':stock',`unitPrice`=':unitPrice' WHERE `itemNumber`=':itemNumber'";
$updateItemDetailsStatement = $conn->prepare($updateItemDetailsSql);
$updateItemDetailsStatement->execute(['itemName' => $itemName, 'discount' => $discount, 'stock' => $newStock, 'unitPrice' => $itemDetailsUnitPrice, 'itemNumber' => $itemNumber]);
}
echo ($updateItemDetailsSql);
?>il me retourne ceci:
Code : Tout sélectionner
0.2389 498136 execute( $params = ['itemName' => 'incada 52 x 72', 'discount' => '52 x 72', 'stock' => 2000, 'unitPrice' => '270', 'itemNumber' => 'incada 52 x 72'] ) ...\postplanningfd.php:155