我在制作一个简单的表单来将数据插入 MySQL 表时遇到了一些麻烦。我不断收到此 SQL 错误:
“错误:您的 SQL 语法有错误;请检查手册
与您的 MySQL 服务器版本相对应,以便使用正确的语法
第 1 行“stock ('ItemNumber', 'Stock') VALUES ('#4','3'')'”附近
My HTML形式为:
<form action="database.php" method="post">
Item Number: <input type="text" name="ItemNumber">
Stock: <input type="text" name="Stock">
<input type="submit">
</form>
And the PHP is:
<?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
如果您直接将字符串嵌入到查询中,但我建议您永远不要这样做。尽可能始终使用参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)