【问题标题】:PHP not inserting data into MySQL but not showing errorPHP没有将数据插入MySQL但没有显示错误
【发布时间】:2019-01-02 19:17:26
【问题描述】:

我正在尝试使用 PHP 和 HTML 表单将数据输入到 MySQL 数据库中,但数据并未保存到数据库中,即使它显示已保存。请告诉我如何确保表单条目保存到数据库中。

HTML

<form action="newproduct.php" method="post">
<table>
<tr>
<td>Username</td>
<td><input name="user" type="text"></td>
</tr> ...

<button type="submit">Go</button>
</form>

PHP

<?php
$servername = "localhost";
$username = $_POST["user"];
$password = $_POST["pass"];
$dbname = "bakefree_products";

$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
  
$sql = "INSERT INTO ".$_POST["range"]." (productname, image, frompricesize, paypalcode, productdesc, allergystandard, allergyglutenfree, allergyvegan, allergygfvegan)
VALUES ('".$_POST["productname"]."', '".$_POST["image"]."', '".$_POST["frompricesize"]."', '".$_POST["paypalcode"]."', '".$_POST["productdesc"]."', '".$_POST["allergystandard"]."', '".$_POST["allergyglutenfree"]."', '".$_POST["allergyvegan"]."', '".$_POST["allergygfvegan"]."')";

    
        
if (mysqli_query($conn, $sql)) {
    echo "New product created successfully.";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
    
//show new number of products
$sql = "SELECT * FROM".$_POST["range"];
$result = $conn->query($sql);
if ($result->num_rows > 0) {echo "There are ".$result->num_rows ." products.";
} else {
    echo "<br><br>There are no products in ".$_POST["range"];
}
    
mysqli_close($conn);
?>

结果

新产品创建成功。

TEST 中没有产品

【问题讨论】:

  • 您的SELECT 查询失败,因为FROM 和表名之间没有空格。
  • 谢谢尼克。这解决了它!
  • 您的查询容易受到 SQL 注入的攻击。另外,为什么要从用户输入中读取表名?!

标签: php html mysql forms


【解决方案1】:

实际上插入应该可以正常工作,但您需要在此处检查选择查询的语法,

//show new number of products
$sql = "SELECT * FROM ".$_POST["range"]; // Added a space after `FROM`

它应该正确地获取数据并向你显示字符串There are X products.

【讨论】:

  • 请不要发布只是简单拼写错误的问题的答案。相反,请发表评论(正如我已经做过的那样)并将由于不可复制或印刷错误而将问题标记为“离题”。像这样的问题不会给网站增加任何价值,最终会被删除,从而导致您失去回答时可能获得的任何声誉。
  • 哦,马上删除。
  • 也被称为抢答快速rep,癌变,答案仍未删除!!
猜你喜欢
  • 2013-08-08
  • 2019-03-16
  • 1970-01-01
  • 1970-01-01
  • 2011-02-10
  • 1970-01-01
  • 2020-07-29
  • 2013-05-17
  • 2011-06-22
相关资源
最近更新 更多