Php 它不会在mysql中插入数据
我一直在努力学习php,这就是我创建的 我只创建了一个文件index.php,其中包括表单、连接和插入查询。它不会在数据库中插入数据。请检查是否有任何错误或我遗漏的东西 index.phpPhp 它不会在mysql中插入数据,php,mysql,Php,Mysql,我一直在努力学习php,这就是我创建的 我只创建了一个文件index.php,其中包括表单、连接和插入查询。它不会在数据库中插入数据。请检查是否有任何错误或我遗漏的东西 index.php <html> <head> <title>Percision Inventory</title> </head> <body> <h2>Input Machine</h2> <p><spa
<html>
<head>
<title>Percision Inventory</title>
</head>
<body>
<h2>Input Machine</h2>
<p><span class="error">* required field.</span></p>
<form method="post" action="index.php">
Serial ID: <input type="text" name="serialId">
<br><br>
Name: <input required type="text" name="name">
<br><br>
Manufacturer: <input type="text" name="manufacturer">
<br><br>
Keys: <textarea name="licensekeys" rows="5" cols="40"></textarea>
<br><br>
Description: <textarea name="description" rows="5" cols="40"></textarea>
<br><br>
Category: <input type="text" name="category">
<br><br>
Block (A or B): <input type="text" name="block">
<br><br>
Floor (1, 2, Ground): <input type="text" name="floor">
<br><br>
Room: <input type="text" name="room">
<br><br>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
<?php
$servername = "localhos";
$username = "abc";
$password = "dfg";
$conn = new mysqli($servername, $username, $password);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
$sql = "INSERT INTO products (serialid, name, manufacturer, licensekeys, description, categoryname,block, floor, room) VALUES ('".$_POST['serialid']."','".$_POST['name']."','".$_POST['manufacturer']."','".$_POST['licensekeys']."','".$_POST['description']."','".$_POST['category']."','".$_POST['block']."','".$_POST['floor']."','".$_POST['room']."')";
if (!$stmt = $con->prepare($sql))
die('Query failed: (' . $con->errno . ') ' . $con->error);
?>
</body>
</html>
在这段代码中几乎没有错误$servername=localhos;应为$servername=localhost
在这段代码中,您没有提到数据库名称
在您的查询和表单中,名称值彼此不正确:在表单中,您声明了类别,但在查询中声明了其categoryname。它没有任何意义
$sql = "INSERT INTO products (serialid, name, manufacturer, licensekeys, description, categoryname,block, floor, room) VALUES ('".$_POST['serialid']."','".$_POST['name']."','".$_POST['manufacturer']."','".$_POST['licensekeys']."','".$_POST['description']."','".$_POST['category']."','".$_POST['block']."','".$_POST['floor']."','".$_POST['room']."')";
它可能看起来像:
$sql = "INSERT INTO products (serialId, name, manufacturer, licensekeys, description, category,block, floor, room) VALUES ('".$_POST['serialId']."','".$_POST['name']."','".$_POST['manufacturer']."','".$_POST['licensekeys']."','".$_POST['description']."','".$_POST['category']."','".$_POST['block']."','".$_POST['floor']."','".$_POST['room']."')";
我已经检查了您的脚本,似乎您没有传递数据库名称。请按照以下代码操作:
$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// Perform queries
mysqli_query($con,"SELECT * FROM Persons");
mysqli_query($con,"INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Glenn','Quagmire',33)");
mysqli_close($con);
出现什么错误?连接变量是$conn而不是$con$servername=localhos。。。这是一个奇怪的名称,您确定您的服务器不是结尾带有t的本地主机吗?没有。我只是提交表单和页面刷新,但数据库什么也得不到。而且你们并没有执行insert查询!!
$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// Perform queries
mysqli_query($con,"SELECT * FROM Persons");
mysqli_query($con,"INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Glenn','Quagmire',33)");
mysqli_close($con);