Я получаю фатальную ошибку «Исключить исключение« PDOException »с сообщением« SQLSTATE [23000]: Нарушение ограничения целостности: 1048 Имя столбца не может быть нулевым 'в C: \ Users \ Aushkia \ Desktop \ PHP Class \ new.php: 20 Трассировка стека: # 0 C: \ Users \ Aushkia \ Desktop \ PHP Class \ new.php (20): PDOStatement-> execute (Array) # 1 {main} выбрано в C: \ Users \ Aushkia \ Desktop \ PHP Class \ new.php в строке 20 "Как сохранить пользовательский ввод в mySQL, получив FATAL ERROR (php)
А также он говорит, что мой индекс для строк 5-7 - Undefined Index.
Это мой последний проект для этого класса, и я не могу найти способ решить эту проблему, и все, что я искал, это для другого python или java. И для загрузки я должен быть в больнице через полтора часа для рождения моего ребенка! лол. Во всяком случае, вот мой код, любая помощь будет потрясающей, спасибо заранее!
<?php
session_start();
/* Data input */
$Name = $_POST['Name'];
$Description = $_POST['Description'];
$Price = $_POST['Price'];
/* login section */
require("auth.php");
/* sql input */
$db = new PDO("mysql:host=localhost;dbname=php", "admin", "123");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmnt = $db->prepare("insert into products (name, description, price)values(:name, :description, :price)");
$stmnt->execute(array('name' => $Name, 'description' => $Description, 'price' => $Price));
$results = $db->query('select * from products');
$products = $results->fetchAll();
?>
<!DOCTYPE HTML>
<!-- UPDATED TO AUTHENTIACTION -->
<html>
<head>
<meta charset="utf-8">
<title>new item</title>
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="stl.css" type="text/css" media="screen" charset="utf-8">
</head>
<p>
<a href="show.php" class="button">Home</a>
<a href="new.php" class="button">Add New</a>
<a href="login.view.php" class="button">Login</a>
<a href="logout.php" class="button">Logout</a>
</P>
<body>
<div align="Center">
<h1>item info</h1><hr/>
<form action="new.php" method="post">
<label for="name">Name:</label><br />
<input name="name" type="text" placeholder="Name" value="" id="Name">
<br />
<label for="desciption">Description :</label><br />
<input name="desciption" type="text" placeholder="Description" value="" id="Description">
<br />
<label for="price">Price :</label><br />
<input name="price" type="text" placeholder="Price" value="" id="Price">
<br />
<p><input type="submit" value="save"></p>
</form>
</div>
</body>
</html>
ошибка говорит само за себя, вы должны быть в состоянии решить это –
Вам, скорее всего, нужно будет поместить весь код '$ _POST' и код вставки базы данных в блок, где вы проверяете, был ли сделан фактический запрос POST. – jeroen
По всей видимости, ошибка довольно понятна, поскольку @ kapil.dev сказал. – Andrew