改变了一下程序,不知道出了什么问题

时间:2016-06-02 10:14:12

标签: php html mysql sql

所以这只是我用来发送类别名称的一个小表单:

<form action="insertexp.php" method="post">
Category Name: <input type="text" name="name"><br>
<input type="submit">
</form>

这是我的PHP代码:

$name=$_POST["name"]; 
$dbhost="localhost";
$dbuser="guest";
$dbpsw="";
$dbname="expense";
$conn=mysqli_connect($dbhost,$dbuser,$dbpsw,$dbname);
        if(!$conn)
            die("couldnot open connection");
        echo"connected successfully";
        echo "<br>";

    $sql="INSERT INTO 'itemmaster' ('categoryname')
         VALUES ('$name')";                     


            $val=mysqli_query($conn,$sql);
            if(!$val)
                die("could not edit table");

            echo ("table edited successfully");

    mysqli_close($conn);

我将表单发送到正确的命名页面。 该程序刚刚更新了我的数据库,它一直在濒临死亡。

2 个答案:

答案 0 :(得分:0)

'itemmaster' - 这是文字而不是表名。您必须使用反引号使其成为表名。与列相同:

 $sql="INSERT INTO `itemmaster` (`categoryname`)
         VALUES ('$name')"; 

答案 1 :(得分:0)

您必须在查询中使用反引号:

INSERT INTO `itemmaster` (`categoryname`)
     VALUES ('$name')"

P.S。不要将var直接放在查询中,因为这很容易受到sql注入的影响。使用mysqli::real_escape_string()或PDO准备的声明来清理您的输入。 这里有PDO文档: http://php.net/manual/en/book.pdo.php