私のPHPは私の製品テーブルを更新しません。 IDを表示するにはechoを使ってテストしたので、私のGETリクエストがうまく動作しています。私はそれをどのように働かせることができるのか混乱していますか?私はそれがフォームのアクション=私のフォームとは何かであるかもしれないと思うが、私は混乱している!誰かが助けてくれますか?MySQLのPHPアップデートテーブルが動作しない
<?php
// Connection file
require 'db.php';
if (((!empty($_GET["mode"])) && (!empty($_GET["id"]))) && ($_GET["mode"] == "update")) {
// If update
echo $_GET['id'];
if (isset($_POST["updateSubmit"])) {
$pName = $_POST["updateProductName"];
echo $pName;
$query = "UPDATE products "
. "SET p_name = '" . $_POST["updateProductName"] . "', "
. "p_type = '" . $_POST["updateProductType"] . "', "
. "p_desc = '" . $_POST["updateProductDesc"] . "', "
. "p_price = '" . $_POST["updateProductPrice"] . "', "
. "p_stock = " . $_POST["updateProductStock"] . ", "
. "WHERE id=" . $_GET['id'] . ";";
$result = mysqli_query($conn, $query);
}
}
?>
<div>
<form id="updateForm" name="updateForm" action="<?php echo "?mode=update&id=" . $productDetails["id"]; ?>" method="post">
<label>Product name:</label><br>
<input type="text" name="updateProductName"><br>
<label>Product type</label><br>
<select name="updateProductType">
<option value="Jackets/coats">Jackets/coats</option>
<option value="Accessories">Accessories</option>
<option value="Shirts">Shirts</option>
<option value="Jeans">Jeans</option>
<option value="Trousers">Trousers</option>
<option value="Shoes">Shoes</option>
<option value="Suits">Suits</option>
</select>
<p>Product description:</p>
<textarea name="updateProductDesc" rows="10" cols="30"></textarea><br>
<label>Product price:</label><br>
<input type="text" name="updateProductPrice"><br>
<label>Stock level:</label><br>
<input type="text" name="updateProductStock"><br>
<input type="submit" name="updateSubmit" value="Submit">
</form>
</div>
<?php
?>
あなたは 'mysqli_errorを(使用している場合、すべての' $ _POST'が – Boby
@Bobyを変更してみてください$ conn) 'を実行すると、'の最後に '、'を削除する必要があることがわかります。 "p_stock =" $ _POST ["updateProductStock"]。 "、"、あなたの前にカンマを入れないでください。 – Sean
値では動作しませんあなたの方法 'メソッド= "GET"' – Sean