我用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)
是什么原因造成的?
答案 0 :(得分:0)
将$optionChosen
放在引号中
$selectChangedItem = "SELECT Artikelnr, omschrijving, verkoopprijs FROM artikel WHERE Artikelnr = '$optionChosen'";