#php #html #mysql
Вопрос:
Я пытаюсь добавлять продукты через PHP внутри PHP MySQL, но каким-то образом код не вставляет данные в базу данных во время работы без каких-либо ошибок. Я не уверен, есть ли какая-либо ошибка в PHP или в PHP MySQL. Я надеюсь, что получу здесь некоторые ответы. Вот мой код: HTML
<div id="content">
<form method="GET" action="" enctype="multipart/form-data">
<input type="text" name="productName" value="" placeholder="Product Name">
<input type="text" name="quantity" placeholder="Quantity">
<input type="text" name="regularPrice" placeholder="Regular Price">
<input type="text" name="discountedPrice" placeholder="discountedPrice">
<input type="file" name="uploadfile" value="" />
<input type="text" name="category" placeholder="Category">
<div>
<button type="submit" name="productImage">Add Product</button>
</div>
</form>
</div>
PHP-КОД:
<?php
error_reporting(0);
?>
<?php
$msg = "";
// If upload button is clicked ...
if (isset($_GET['productImage']))
{
$productName = $_GET['productName'];
$quantity = $_GET['quantity'];
$regPrice = $_GET['regularPrice'];
$discPrice = $_GET['discountedPrice'];
$productImage = $_FILES["uploadfile"]["name"];
$tempname = $_FILES["uploadfile"]["tmp_name"];
$category = $_GET['category'];
$folder = "asset/images/products/".$productImage;
$host = "localhost";
$dbUsername = "root";
$dbPassword = "";
$dbname = "kewalsmart";
// Creating Connection
$conn = new mysqli($host, $dbUsername, $dbPassword, $dbname);
if(mysqli_connect_error())
{
die('Connection Error('. mysql_connect_errno().')'. mysqli_connect_error());
}
else
{
$SELECT = "SELECT email From products Where product_name = ? Limit 1";
// Get all the submitted data from the form
$INSERT = "INSERT INTO products (product_name, quantity, regular_price, discounted_price, product_image, category) VALUES ('$productName, $quantity, $regPrice, $discPrice, $productImage, $category')";
// Prepare Statement
$stmt = $conn->prepare($SELECT);
$stmt->bind_param("s", $productName);
$stmt->execute();
$stmt->bind_result($productName);
$stmt->store_result();
$rnum = $stmt->num_rows;
if($rnum==0)
{
$stmt->close();
$stmt = $conn->prepare($INSERT);
$stmt->bind_param("ssiiss", $productName, $quantity, $regPrice, $discPrice, $productImage, $category);
$stmt->execute();
?>
<script type="text/javascript">
window.alert("Product Added Successfully");
window.location.href = "index.html";
</script>
<?php
}
else
{
?>
<script>
window.alert("Something's Wrong");
setTimeout(function(){ window.location.href = "./"; }, 2000);
</script>
<?php
}
// Now let's move the uploaded image into the folder: image
if (move_uploaded_file($tempname, $folder))
{
$msg = "Image uploaded successfully";
}
else
{
$msg = "Failed to upload image";
}
$stmt->close();
$conn->close();
}
}
?>
Заранее благодарю вас!
Комментарии:
1. Создайте свой метод формы
post
(и$_GET
соответствующим образом отрегулируйте)2. Это было отправлено ранее, но не сработало, поэтому я попытался сделать это через GET, но вернул то же самое.
3. Ну, это должно быть «сообщение» для загрузки, чтобы работать. Сделайте это «опубликовать», запустите снова и опубликуйте все ошибки, которые вы получите. К вашему сведению,
error_reporting(0);
отключает все отчеты об ошибках4. Ах, спасибо за разъяснение по сообщению об ошибках, вот почему я ничего не получал. Это одно из следующих предупреждений: mysqli_query() ожидает, что параметр 1 будет mysqli, значение null указано .. addproduct.php в строке 84 И Строке 84 это $result = mysqli_query($conn, «ВЫБРАТЬ * ИЗ продуктов»);
5. Не обращайте внимания на вышеуказанную ошибку, пожалуйста, сейчас произойдет эта: Фатальная ошибка: Неперехваченная ошибка: Вызов функции-члена bind_param() на bool в ../addproduct.php:37 Трассировка стека: #0 {main} вброшено ..addproduct.php в строке 37 в строке 37 есть этот $stmt->bind_param(«s», $ProductName);