Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 它不会在mysql中插入数据_Php_Mysql - Fatal编程技术网

Php 它不会在mysql中插入数据

Php 它不会在mysql中插入数据,php,mysql,Php,Mysql,我一直在努力学习php,这就是我创建的 我只创建了一个文件index.php,其中包括表单、连接和插入查询。它不会在数据库中插入数据。请检查是否有任何错误或我遗漏的东西 index.php <html> <head> <title>Percision Inventory</title> </head> <body> <h2>Input Machine</h2> <p><spa

我一直在努力学习php,这就是我创建的 我只创建了一个文件index.php,其中包括表单、连接和插入查询。它不会在数据库中插入数据。请检查是否有任何错误或我遗漏的东西

index.php

<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);