<?php
$fname= $_REQUEST['firstname'];
$lname= $_REQUEST['lastname'];
$email= $_REQUEST['email'];
$pass = $_REQUEST['password'];
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect ');
}
$ins1 = "INSERT into signup values( '$fname' , '$lname', '$email','$pass')";
$select = mysql_select_db('ait', $conn);
if(! $select)
{
die("<h2> incorrect input <h2>".mysql_error());
header('location:index.php');
}
$in1 = mysql_query($ins1);
if (!$in1)
{
die("<h2> incorrect input <h2>".mysql_error());
header('location:signed.php');
}
mysql_close($conn);
header('location:signed.php');
exit;
?>
我正在制作一个注册表单并将其添加到数据库中,但我收到此错误&#34;错误的输入列数与第1行和第34行的值计数不匹配。我没有从这段代码中插入id,因为它是自动增量。
答案 0 :(得分:0)
如果id
是自动增量(并且它是您跳过的唯一列和表中的第一列),请使用:
$sql = "INSERT into signup values (null, '$fname' , '$lname', '$email','$pass')";
这样,您可以mysql
填写id值,但仍需要指定它。
另一种方法是使用:
$sql = "INSERT into signup (col1, col2, col3, col4) values ('$fname' , '$lname', '$email','$pass')";
使用实际列名替换col*
。
答案 1 :(得分:0)
在查询中明确记下列的名称。
INSERT into signup(first_name,last_name,email,password)
values( '$fname' , '$lname', '$email','$pass')
看看SQL注入。传递这样的参数并不是一种安全的方法。