我已经构建了一个只有一个输入框的非常简单的html表单。我试图将值输入我的数据库。
似乎只有一半工作,因为当我提交表单时,我确实得到一个条目和一个ID号(这是自动生成)但是" input1字段仍为空。
它在VARCHAR和NULL上。我已将其更改为INT但执行相同的操作。
我真的不确定问题出在MySQL还是PHP上。
我的代码中有点容易出现拼写错误,但对于我的生活,我在这里找不到一个。
有没有人有解决方案?
此致
PHP PAGE
<?php
define ('DB_NAME', 'xxxx');
define ('DB_USER', 'xxxx');
define ('DB_PASSWORD', 'xxxx');
define ('DB_HOST', 'localhost');
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!$link) {
die('Cannae connect tay the server, sorry pal: ' . mysql_error());
}
$db_selected = mysql_select_db(DB_NAME, $link);
if (!$db_selected) {
die ('Ya just pure cannae connect tay the big bad mental database min: ' . DB_NAME . ': ' . mysql_error());
}
echo 'Connected successfully';
$value = $_POST['input1'];
$sql = "INSERT INTO demo (input1) VALUES ('$value')";
if (!mysql_query($sql)) {
die('Error: ' . mysql_error());
}
mysql_close ();
?>
表格页
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h2>Test form</h2>
<p>This form will send data to the MySQL database.</p>
</br>
<form action="testsend.php" method="post" />
<p>Input 1: <input type="text" name"input1" /></p>
<input type="submit" value="Submit" />
</form>
</body>
</html>
答案 0 :(得分:1)
<p>Input 1: <input type="text" name"input1" /></p>
这一行你可能会错过=
,尝试添加它。
<p>Input 1: <input type="text" name="input1" /></p>
如果您不确定从表单传递什么,请在添加到数据库之前使用var_dump()。正如@JPG所建议的那样,似乎缺少等号,这反过来又造成了POST的问题,因为没有发布input1。您可以通过浏览器检查(Firebug /开发人员工具)验证它。
答案 1 :(得分:0)
更改此行
$sql = "INSERT INTO demo (input1) VALUES ('$value')";
与
$sql = "INSERT INTO demo (input1) VALUES ('".$value ."')";
这会插入正确的值吗?