У меня возникли проблемы с простой формой для вставки данных в таблицу MySQL. Я получаю эту ошибку SQL:Вставить в таблицу MySQL PHP
"Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'stock ('ItemNumber', 'Stock') VALUES ('#4','3'')' at line 1"
Мой HTML для формы является:
<form action="database.php" method="post">
Item Number: <input type="text" name="ItemNumber">
Stock: <input type="text" name="Stock">
<input type="submit">
</form>
И в PHP является:
<?php
$con=mysqli_connect("localhost","root","root","inventory");
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql = "INSERT INTO current stock ('ItemNumber', 'Stock')
VALUES
('$_POST[ItemNumber]','$_POST[Stock]'')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
?>
Ваш веб-страница открыта настежь для инъекций SQL Не код, как это вместо использования хранимых процедур, параметризованных?.. SQL и запретить пользователю вводить специальные символы ... – Takarakaka
Я бы также избегал использования символа пробела в имени таблицы или поля. – MadMarc
Я знаю, что это старый вопрос, но у Билла Карвина есть лучший ответ. –