PHP PDO-检索更改的产品

时间:2018-10-09 10:50:43

标签: php mysql database

我用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)

是什么原因造成的?

1 个答案:

答案 0 :(得分:0)

$optionChosen放在引号中

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