很抱歉,如果这已经存在,但我无法在任何地方找到它。
我正在尝试将表单中的信息插入名为“test”的数据库中名为“instest”的表中。 “instest”表中的列是“firstName”,“lastName”和“age”。
问题是,每次点击提交按钮时,它都会显示为下载(IE)或代码显示(Opera),而不是实际执行的代码。
以下是代码:
/* TestInsert.php */
<!DOCTYPE HTML>
<html>
<body>
<form action="Insert.php" method="post">
Firstname: <input type="text" name="firstname" />
Lastname: <input type="text" name="lastname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>
/* Insert.php */
<?php
$con = mysql_connect("localhost","root@localhost"); //No password
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("test", $con);
$sql="INSERT INTO instest (firstName, lastName, age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con)
?>
答案 0 :(得分:3)
尝试添加value="submit"
浏览器更喜欢正确的html
答案 1 :(得分:0)
您似乎忘记在Insert.php
中使用<?php
或<?
打开PHP代码(前者是最兼容的,因此也是首选版本)。
答案 2 :(得分:0)
我认为你有这个错误:
$sql="INSERT INTO instest (firstName, lastName, age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
尝试将其更改为:
$sql="INSERT INTO instest (firstName, lastName, age)
VALUES
('". $_POST[firstname] ."','". $_POST[lastname] ."','". $_POST[age] ."')";
我知道你可以在里面有变量(“我个人认为它的不良做法而且速度较慢)我认为你会遇到post var的常见问题以及php如何解释它。
您应该启用error_reporting,因为它会反映出来。