PHP Update总是更新空字符串

时间:2016-05-19 18:01:59

标签: php sql

让我解释代码我从数据库中获取数据并在文本输入中显示数据然后当用户进行更改时我得到用户输入并更新表但是当它更新时更新为空数据< / p>

<?php
echo "<form action='' method='get'>";

echo "<td class='data'><input type='product_name' id='product_name' value=" . $row['product_name'] . "> </td>";
echo "<td class='data'><input type='products_price' id='products_price' value=" . $row['products_price'] . "> </td>";
echo "<td class='data'><input type='products_desc' id='products_desc' value=" . $row['products_desc'] . "> </td>";

echo "</form>";

echo "</tr>";
echo "</table>";
echo "<form action='' method='POST'>
                 <input name='update' type='submit' value='Update' style='margin-left: 720px'>
                </form>";
$product_name = isset($_GET['product_name']) ? $_GET['product_name'] : '';

$products_desc = isset($_GET['products_desc']) ? $_GET['products_desc'] : '';

$products_price = isset($_GET['products_price']) ? $_GET['products_price'] : '';
if (isset($_POST["update"])) {




    $sql1 = "UPDATE tbl_products SET products_desc='" . $products_desc . "',product_name='" . $product_name . "',products_price='" . $products_price . "' WHERE products_id='" . $product_id . "'";

    mysqli_query($conn, $sql1) or die(mysqli_error($conn));
    echo "yess";

}
?>

2 个答案:

答案 0 :(得分:1)

您的input元素没有name属性,因此$_GET['product_name']之类的内容将始终为空。 name属性是发送到服务器的键/值对中的键。

此外,type属性都已损坏。 (虽然我怀疑浏览器是自动&#34;纠正&#34;默认为文本输入。)

添加name属性(并修复type):

<input type='text' name='product_name' id='product_name' ...

另外,您有两个表单。因此,当您单击按钮时, 表单不会提交任何输入。因为他们的形式不同。

将它们全部放入同一个form,并决定是否要使用GETPOST(因为您的服务器端代码需要知道这一点)。< / p>

答案 1 :(得分:0)

您在一个表单标记中定义了数据表单,并在另一个表单标记中提交表单:

<form action='' method='POST'>
     <input name='update' type='submit' value='Update' style='margin-left: 720px'>
</form>

echo "<form action='' method='get'>";

echo "<td class='data'><input type='product_name' id='product_name' value=" . $row['product_name'] . "> </td>";
echo "<td class='data'><input type='products_price' id='products_price' value=" . $row['products_price'] . "> </td>";
echo "<td class='data'><input type='products_desc' id='products_desc' value=" . $row['products_desc'] . "> </td>";

echo "</form>";

当您提交第一张表格但您的数据是另一种表格时

这是错误的