我无法填写数据库表

时间:2014-03-26 13:03:04

标签: php mysql sql database

我想创建一个可以从我的网页填写的数据库。我希望它是一个整数输入。我创建了一个数据库和一切。 我连接了php和phpmyadmin,但是当我插入一个数字时,它会添加一个空行(null)。 我哪里做错了? 这是整个代码......

这是Insert.html

<html>
<head>
<title>SITE</title>
</head>
<body>
<form action="insert.html" method="post">     
Value1: <input type="text" name="field1-name" />
<input type="Submit" /></form>
</body>
</html>

这是Connect.php

<?php
$username="root";
$password="";
$database="test";
$field1-name=$_POST['Value1'];
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query = "INSERT INTO temp VALUES('$field1-name')";
mysql_query($query);
mysql_close();
?>

这是Test.php

<?php
include 'insert.html';
include 'connect.php';
$a=$_POST["temp"];
$sql="INSERT INTO temp(val) values ($a);";
?>

4 个答案:

答案 0 :(得分:0)

您可以选择变量名来解决一个问题。您的变量名称中不能有破折号。因此$field1-name是无效的名称。您应该删除短划线或将其更改为下划线。

您还为输入field1-name命名,但尝试访问$_POST['Value1']Value1来自哪里?

首先修复您的表单,以便您的输入名称没有破折号:

<form action="insert.html" method="post">     
Value1: <input type="text" name="field1name" />
<input type="Submit" /></form>

然后修复你的变量赋值:

$field1name=$_POST['field1name'];

答案 1 :(得分:0)

尝试更改表单操作和表单字段名称。在html文件中,您无法获取帖子值,因此请将其更改为connect.php

<html>
<head>
<title>SITE</title>
</head>
<body>
<form action="Connect.php" method="post">     
Value1: <input type="text" name="field1_name" />
<input type="Submit" /></form>
</body>
</html>

This is Connect.php

<?php
$username="root";
$password="";
$database="test";
$field1_name=$_POST['field1_name'];
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query = "INSERT INTO temp VALUES('$field1_name')";
mysql_query($query);
mysql_close();
?>

答案 2 :(得分:0)

在Connect.php中,您使用:

$field1-name=$_POST['Value1'];

这有两个问题。变量名可能无效,$ _POST ['Value1']始终为空,因为表单字段名为“field1-name”。

试试这个:

$value = $_POST['field1-name'];
...
$query = "INSERT INTO temp VALUES('$value')";

答案 3 :(得分:0)

只需将connect.php付诸实践,并在connect.php中执行任何操作

<html>
<head>
<title>SITE</title>
</head>
<body>
<form action="connect.php" method="post">     
Value1: <input type="text" name="field1-name" />
<input type="Submit" /></form>
</body>
</html>

和Connect.php

$username="root";
$password="";
$database="test";

$fieldname=$_POST['field1-name'];
mysql_connect('localhost',$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query = "INSERT INTO temp VALUES ('".$fieldname."')";
mysql_query($query);