php - PHP未将数据插入MySQL但未显示错误
问题描述
我正在尝试使用 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);
?>
结果
新产品创建成功。
测试中没有产品
解决方案
实际上插入应该可以正常工作,但是您需要在此处检查选择查询的语法,
//show new number of products
$sql = "SELECT * FROM ".$_POST["range"]; // Added a space after `FROM`
它应该正确地获取数据并向您显示字符串,There are X products.
推荐阅读
- reporting-services - SSRS URL Java 字段值链接
- python - 如何将 OpenCV 设置为使用原点作为图像的左下角?
- vue.js - Electron Webpack Vue 全局变量
- xamarin.forms - Xamarin .Net Standard 2.0 的 ModernHttpClient 替代选项
- html - Bootstrap 列内容图像响应性
- rpgle - 使用 RPG 和 DSPF 转到文本字符串中的第 n 个字符
- android - 尝试在自定义布局中合并两个布局
- java - 如何使用流获取具有多个属性最大值的对象?
- javascript - 将具有动态键的对象数组转换为新数组
- c++ - 如何对抽象类对象进行排序