我正在编写一个脚本,您可以在其中通过表格更改商品/物品的价格,但不会更新我的新价格。我认为$ update中可能有一个错误,因为当我更改受影响的行(故意打错)时,我没有收到任何错误消息。但是我只是看不到。我究竟做错了什么?提前致谢。
<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "webauth";
$connection = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
$artikelquery = "SELECT * FROM artikel;";
$artikel = mysqli_query($connection, $artikelquery);
?>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
Kies een artikel:</br>
<select name="artikel">
<?php
while($artikelrow = mysqli_fetch_row($artikel)) {
echo '<option value="'.$artikelrow[1].'">'."$artikelrow[1], $artikelrow[3] euro</option>";
}
?>
</select>
</br></br>
Vul de nieuwe prijs van het artikel in:</br>
<input type="number" name="prijs"></br></br>
<input type="submit" value="Verzend">
</form>
<?php
if($_SERVER['REQUEST_METHOD'] == "POST") {
if($_POST['prijs'] == "") {
echo 'bla';
}
else {
$nieuwprijs = $_POST['prijs'];
$artikel = $_POST['artikel'];
$update = "UPDATE artikels SET Verkoopprijs ='". $nieuwprijs ."' WHERE Artikelnr ='". $artikel ."';";
mysqli_query($connection, $update);
echo 'Artikel '. $artikel .' is aangepast naar '. $nieuwprijs .' euro.';
}
}
?>
您非常容易受到SQL注入的攻击。无论如何,您的问题是表名称:
$update = "UPDATE artikels SET Verkoopprijs ='". $nieuwprijs ."' WHERE Artikelnr ='". $artikel ."';";
应该
$update = "UPDATE artikel ..."
没有final s,作为您的SELECT
查询
$artikelquery = "SELECT * FROM artikel;";
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句