2016-08-10 2 views
-2

Я пытался узнать php, и это то, что я создал Я создал только один файл, который является index.php, и в нем есть форма и соединение, а также вставка запроса. Он не вставляет данные в базу данных. Пожалуйста, проверьте, нет ли какой-либо ошибки или чего-то, что мне не хватает?он не вставляет данные в mysql

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> 
+1

Какая ошибка вы получаете? – Mureinik

+0

Переменная соединения '$ conn' не' $ con' – Saty

+0

'$ servername =" localhos "' ... это странное имя, вы уверены, что ваш сервер не является 'localhost' с' t' в конце ? –

ответ

0

Я проверил свой сценарий, и, кажется, что вы не передаете имя базы данных. Пожалуйста, следуйте приведенному ниже коду:

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

В этом коде несколько ошибок. $servername = "localhos"; должно быть $servername = "localhost";.

В этом кодексе вы не указали database name.

$conn = new mysqli($servername, $username, $password, $yourddb); 

В вашем запросе и формы name значения неверен друг с другом: в форме вы объявили category, но в запросе его categoryname .Its не имеет никакого смысла.

$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']."')"; 
Смежные вопросы