php-pdo-检索更改的产品

cld4siwp  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(244)

我用php做了一个系统,在那里我可以从数据库中的产品中更改价格的值。但是当我试图从被更改的产品接收数据时,我得到了一个错误 Unknown column 'F0445' in 'where clause' 我不知道为什么会这样?更改所选产品的代码工作得非常好,但是当我试图从我刚更改的产品中检索产品信息时,它会出错;

<?php
include "databaseconnectie4.php"
?>

<!DOCTYPE html>
<html>
<body>

<?php
$conn = getDatabaseConnection();
$query = "SELECT omschrijving,verkoopprijs,artikelnr FROM artikel";
?>

<h1>Prijs wijziging</h1>
<hr>
<p>Selecteer een artikel</p>
<form action="opdracht10.php" method="POST">
<select name="selectedOption" id="">
    <?php foreach($conn->query($query) as $result): ?>
        <option value="<?=$result['artikelnr'];?>"><?=$result['omschrijving'];?>, <?=$result['verkoopprijs'];?></option>
    <?php endforeach; ?>
</select>

<p>Geef de nieuwe prijs:</p>

<input type="number" name="newValue"><br>
<br><input type="submit" name="submit" value="Voer wijziging door!">
</form>

</body>
</html>

<?php

if(isset($_POST["submit"])){
    changePrice($conn);
}

function changePrice($conn) {
   $price = $_POST['newValue'];
   $optionChosen = $_POST['selectedOption'];

   $data = [
    'price' => $price,
    'artikelnr' => $optionChosen,
   ];
   $sql = "UPDATE artikel SET verkoopprijs=:price WHERE artikelnr=:artikelnr";
   $stmt= $conn->prepare($sql);
   $stmt->execute($data);

   $selectChangedItem = "SELECT Artikelnr, omschrijving, verkoopprijs FROM artikel WHERE Artikelnr = $optionChosen";

   $conn->query($selectChangedItem);

   foreach($conn->query($selectChangedItem) as $result) {
    echo $result['Artikelnr'];

   }

}

表“artikel”的数据库设置如下所示:

- Artikelnr (This is the product number)
- Omschrijving (Description)
- Categorie (Category)
- Verkoopprijs (Price)

是什么原因造成的?

fruv7luv

fruv7luv1#

$optionChosen 在引号中:

$selectChangedItem = "SELECT Artikelnr, omschrijving, verkoopprijs FROM artikel WHERE Artikelnr = '$optionChosen'";

相关问题