繁体   English   中英

PHP / SQL使用“错误:列数与行1的值计数不匹配”形式插入数据库,但无法弄清计数不匹配的原因

[英]PHP/SQL Inserting to DB using form “Error: Column count doesn't match value count at row 1” but can't figure out why count doesn't match

桌列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";

使用表格时,出现错误列数与第1行的值数不匹配 当我通过PHPmyAdmin并输入数据时,一切正常,因此后端没有错误(值长度/类型/等),我无法弄清楚代码的问题是什么。 任何帮助,不胜感激!

值列表中还有一个额外的列。 $_POST[owner]在那里两次。

您有两次“ $ _POST [所有者]”。 删除其中之一,您应该没问题。

您之前的代码是:

$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')";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM