这是php中的VALUES错误。它说它是每个单值中的一个未定义的索引。我已经尝试了很长一段时间,但我无法弄清楚问题所在。它在我的数据库中还是在代码中?请帮我:)PHP错误。 “未定义索引”表单中的数据不会插入到mysql数据库中
<html>
<body>
<h1>A small example page to insert some data in to the MySQL database using PHP</h1>
<form action="insert.php" method="post">
Firstname: <input type="text" name="navn" /><br><br>
Lastname: <input type="text" name="adresse" /><br><br>
<input type="submit" />
</form>
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("forum", $con);
$sql="INSERT INTO bruker (navn, adresse)
VALUES
('$_POST[navn]',
'$_POST[adresse]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con)
?>
</body>
</html>
1)停止使用不推荐使用的'mysql_'函数并切换到MySQLi或PDO 2)不要盲目地将值插入到MySQL查询中。你的代码容易受到SQL注入攻击3)你可以使用'isset()'来检查这个值是否在你的'$ _POST'数组中实际定义。 'print_r($ _ POST);'会列出整个内容。 –
您不应该使用MySql,因为它已被弃用。改用PDO或MySqli! –
您正在试图以错误的方式获取数组的索引。 '$ _POST [navn]'实际上是'$ _POST ['navn']'和'$ _POST ['adresse']''。但是你遇到的问题比这个更大:你盲目地在数据库中插入值。这是一个很大的禁忌。您应该查看准备好的语句并使用'mysqli'来代替。 – Max