所以这只是我用来发送类别名称的一个小表单:
<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);
我将表单发送到正确的命名页面。 该程序刚刚更新了我的数据库,它一直在濒临死亡。
答案 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