0

表列 theid 名称 yob 颜色品种所有者批准

收集信息以插入数据库的表格

<form method='post' action='nominateasire2.php'>
The ID: <input type='text' name='theid'><br><br>
Sire Name: <input type='text' name='sirename'><br><br>
YOB: <input type='text' name='yob'><br><br>
Color: <input type='text' name='color'><br><br>
Breed: <input type='text' name='breed'><br><br>
Owner: <input type='text' name='owner'><br><br>
<input type='submit' value='Nominate'>
</form>

PHP 将信息从表单插入数据库

$sql="INSERT INTO nominatedsires (theid,sirename,yob,color,breed,owner,approved)
VALUES ('$_POST[theid]','$_POST[sirename]','$_POST[yob]',
'$_POST[color]','$_POST[breed]','$_POST[owner]','$_POST[owner]','no')";

if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record added";

使用表单时,我收到错误Column count doesn't match value count at row 1。当我通过 PHPmyAdmin 并输入数据时,一切正常,因此后端没有错误(值长度/类型/等)。我无法弄清楚我的代码有什么问题。非常感谢任何帮助!

4

3 回答 3

0

您的值列表中有一个额外的列。$_POST[owner]有两次。

于 2013-10-23T16:40:33.633 回答
0

你有两次'$_POST[owner]'。删除其中一个,你应该没问题。

于 2013-10-23T16:42:57.010 回答
0

您之前的代码是:

$sql="INSERT INTO nominatedsires (theid,sirename,yob,color,breed,owner,approved)
VALUES ('$_POST[theid]','$_POST[sirename]','$_POST[yob]',
'$_POST[color]','$_POST[breed]','$_POST[owner]','$_POST[owner]','no')";


这是正确的代码:

$sql="INSERT INTO nominatedsires (theid,sirename,yob,color,breed,owner,approved)
VALUES ('$_POST[theid]','$_POST[sirename]','$_POST[yob]',
'$_POST[color]','$_POST[breed]','$_POST[owner]','no')";
于 2013-10-23T16:44:39.217 回答