对于一些如此简单的事情,我一直存在问题。我的问题是如何正确使用INSERT INTO功能进入数据库?在我开始之前,我只想说我已经看到了很多其他的例子,但没有帮助。
在我澄清问题之前,我只想解释一下背景。基本上有两种注册形式,两种注册形式一个接一个地使用自己的输入设备和验证。当我在第一个注册表单中输入数据时,我按下一个,它将我带到第二个表单,我必须在完全“注册”之前填写其他信息。在我的第二个注册表单中,我使用了一个隐藏输入列表,例如<input type="hidden" name="name" value="<?php echo $_POST['name'];?>"/>
,以便我可以保存第一个注册文件中的信息,并且在我进入下一个注册页面时仍然拥有相同的数据而不会完全丢失它
无论如何,回到我的问题,我只是在尝试插入所有数据(来自两种注册表单)时遇到了麻烦,我输入了我的数据库。下面是我尝试创建一个简单的INSERT INTO php函数,希望它可以工作,但无济于事。
<?php
$conn = mysql_connect("localhost", "name", "psswd");
mysql_select_db("database", $conn)
or die ('Database not found ' . mysql_error() );
$username=$_POST['username'];
$password=$_POST['password'];
$name=$_POST['name'];
$lname=$_POST['lname'];
$postcode=$_POST['postcode'];
$agreement=$_POST['agreement'];
$conditions=$_POST['conditions'];
$sql= "INSERT INTO table (username, password, name, lname, postcode, agreement, conditions)
VALUES ('$username', '$password', '$name', '$lname', '$postcode', '$agreement', '$conditions')";
$rs = mysql_query($sql, $conn)
or die ('Problem with query' . mysql_error());
//echo "1 record added";
mysql_close($conn)
?>
老实说,我不知道自己哪里出错了。我不知道我是否应该在两种形式中都使用INSERT INTO功能,或者只知道第二种注册形式(此时它只是位置)。或者,如果php函数应放在我的表单中的某个特定区域?
我还应该补充一点,当我启动我的注册页面时,它会打开,但是我在页面下面出现错误(或通知),说明在我的名字或字段的每一行($username=$_POST['username'];
等等),我有一个'Undefined index'和另一个错误'queryIncorrect integer value:''对于第1行的'postcode'列。
我已经超越了我的限制来解决这个问题并需要帮助。我想知道的是我如何将代码更改为实际运行并将数据发送到数据库的内容?
答案 0 :(得分:0)
您似乎遇到的第一个问题是您没有传递POST数据,因此您收到的是“未定义索引”错误。 var_dump($ _ POST),看你是否甚至将POST数据发送到更新脚本。
如果您在注册过程中有多个表单来收集要在用户填写完所有表单时插入的数据,您可能还需要查看会话。