首页 > 解决方案 > 为什么我的数据库在连接和包含时不能获取用户的表单信息?

问题描述

我正在尝试将一些信息添加到我的数据库中。代码执行但未显示在数据库中。如果有人可以帮助我,我会很高兴!非常感谢!节日快乐 :)!

我尝试使用默认值运行程序。我也尝试过不同的语法。我尝试交换 header 和 mysqli_close() 的位置。

$conn = mysqli_connect("localhost", "root", "root", "Store");

$nameTshirt = 'T-Shirt NDOE';
$priceTshirt = 35.00;
$nameAlbum = 'Thousands of Scars Album';
$size = $_GET['size'];
$quantity = $_GET['quantityOne'];

    $sql = "INSERT INTO shoppingCart(name, size, quantity, price) 
    VALUES ('T-Shirt NDOE', 'XL', '3', 35.00);";
mysqli_query($conn, $sql);

header("Location: Store - EN.php?item=added");
mysqli_close($conn);

从此表单中获取用户的输入:

<form action="addTshirt.php">
 <div class="item">
 <img src="../Images/store/NDOE - T-SHIRT-b-600x600.jpg" width="300" height="300" alt="NDOE T-Shirt image" class="storeimage">
 </div>
 <div class = "name"> <b>NDOE T-Shirt</b></div>
 <div class = "price">35.00</div>

 <div class = "name2">Size:
    <select class = "drop" name = "size">
        <option value = "select">Select</option>
        <option value = "S">S</option>
        <option value = "M">M</option>
        <option value = "L">L</option>
        <option value = "XL">XL</option>
    </select>
 </div>
 <div class="name2">Quantity:

    <select class = "quantity" name = "quantityOne">
        <option value = "0">0</option>
        <option value = "1">1</option>
        <option value = "2">2</option>
        <option value = "3">3</option>
        <option value = "4">4</option>
        <option value = "5">5</option>
        <option value = "6">6</option>
        <option value = "7">7</option>
        <option value = "8">8</option>
        <option value = "9">9</option>
        <option value = "10">10</option>
    </select></div>

    <div class="wrapper">
        <input type="submit" class = "buttonP" name="tshirtButton" value="Add to cart">
    </div>

</div>
</form>
</div>
</td>

标签: phpmysqlformswebinput

解决方案


你没有使用你的变量。

您还应该使用准备好的语句来防止 SQL 注入。

$nameTshirt = 'T-Shirt NDOE';
$priceTshirt = 35.00;
$nameAlbum = 'Thousands of Scars Album';
$size = $_GET['size'];
$quantity = $_GET['quantityOne'];

$stmt = mysqli_prepare($conn, "INSERT INTO shoppingCart(name, size, quantity, price) 
    VALUES (?, ?, ?, ?);") or die(mysqli_error($conn);
mysqli_stmt_bind_param($stmt, "ssid", $nameTshirt, $size, $quantity, $priceTshirt);
mysqli_stmt_execute($stmt) or die(mysqli_stmt_error($stmt);

推荐阅读