对不起,如果这已经存在,但我找不到这个
我试图将信息从表单插入到一个名为"测试"的数据库中名为"测试"的表中。"instest"表中的列是"firstName"、"lastName"answers"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)
?>
尝试添加value="submit"
浏览器首选的合适html
看起来您只是忘记使用<?php
或<?
在Insert.php
中打开PHP标记(前者是最兼容的,因此是优选的版本)。
我想你有一个错误:
$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,因为它会反映这个