我已尝试在本网站上给出了一些不同的答案,但我似乎无法让一切正常运作。我将发布我目前的内容。
我的数据库名称是" artStore"
我的表名是"库存"
表单的HTML代码是:
<form action="sendToTable.php" method="post">
<h3>Product:</h3>
<input type="text" name="$row[product]">
<h3>Category:</h3>
<input type="text" name="$row[category]">
<h3>Seller:</h3>
<input type="text" name="$row[seller]">
<input type="submit">
</form>
我的PHP代码,用于将信息发送到数据库:
$sql = "INSERT INTO inventory (id, product, category, seller) VALUES ('$row[id]', '$row[product]', '$row[category]', '$row[seller]')";
//Run the sql statement
if ($connection->query($sql) === true) {
echo "The Insert Worked";
} else {
echo "Error occured in the insert: " . $connection->error;
}
$connection->close();
用于显示表格的PHP代码:
$sql = "SELECT * FROM inventory";
$result = $connection->query($sql);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo "
id: $row[id] <br>
product: $row[product] <br>
category: $row[category] <br>
seller: $row[seller] <br>
<hr>
";
}
} else {
echo "No Results";
}
$connection->close();
非常感谢任何帮助!我是网络编程的新手。
编辑1:
我更新了我的文件,我得到的错误是:
&#34;插入中出现错误:列数与第1行和第34行的值计数不匹配;
它说错误发生在包含用于将Info发送到数据库的PHP代码的文件中,但这里是我的所有文件。
表单的HTML代码:
<form action="sendToTable.php" method="post">
<h3>Product:</h3>
<input type="text" name="product">
<h3>Category:</h3>
<input type="text" name="category">
<h3>Seller:</h3>
<input type="text" name="seller">
<input type="submit">
</form>
用于将Info发送到数据库的PHP代码:
//Create the SQL Statement
$product = $_POST['product'];
$category = $_POST['category'];
$seller = $_POST['seller'];
$sql = "INSERT INTO inventory (id, product, category, seller) VALUES ('$product', '$category', '$seller')";
//Run the sql statement
if ($connection->query($sql) === true) {
echo "The Insert Worked";
} else {
echo "Error occured in the insert: " . $connection->error;
}
$connection->close();
用于显示表格的PHP代码:
$sql = "SELECT * FROM inventory";
$result = $connection->query($sql);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo "
id: $row[id] <br>
product: $row[product] <br>
category: $row[category] <br>
seller: $row[seller] <br>
<hr>
";
}
} else {
echo "No Results";
}
$connection->close();
答案 0 :(得分:1)
你不应该为&#34; $ row [product]&#34;调用HTML输入字段。等等,但只是&#34;产品&#34;。
用于插入数据库的PHP代码是正确的,但变量未设置。 您需要首先从HTML表单中检索字段:
$product = $_POST['product']; // 'product' is the name of the HTML input field
$category = $_POST['category'];
// etc...
您还应该清理所有用户输入以避免SQL注入等。 See this answer for a good explanation
同时更改$ sql字符串变量中变量的名称,因为当前的变量名称不存在。
答案 1 :(得分:1)
INSERT INTO inventory (id, product, category, seller) VALUES ('$product', '$category', '$seller')
您有4个字段(ID,产品,类别,卖家)
和3个值('$ product','$ category','$ seller')
在id的值中添加'' 或者如果它是自动递增的话,不要把id放在字段中......