插入MySQL表PHP
作者:互联网
我在制作一个简单的表单以将数据插入MySQL表时遇到了一些麻烦.我一直收到这个SQL错误:
“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);
?>
解决方法:
试试这个
你不应该在POST周围使用参数引用.你应该在POST中使用它们
$sql = "INSERT INTO `current stock` (ItemNumber, Stock)
VALUES
('".$_POST['ItemNumber']."', '".$_POST['Stock']."' )";
你应该在将变量插入到像这样的mysql之前转义它们
>请注意,该示例不会调用mysqli_real_escape_string.如果你直接在查询中嵌入字符串,你只需要使用mysqli_real_escape_string,但我建议你永远不要这样做.始终尽可能使用参数.
标签:php,mysql,sql,syntax-error,sql-insert 来源: https://codeday.me/bug/20190612/1228809.html