数据库
首页 > 数据库> > 插入MySQL表PHP

插入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