Mysql和PHP错误:列计数与第1行的值计数不匹配
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Mysql和PHP错误:列计数与第1行的值计数不匹配,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2919字,纯文字阅读大概需要5分钟。
内容图文
尝试将表单中的数据插入数据库时??,我收到此错误.我知道这意味着什么,我只是想不通为什么我会得到它.也许我已经开始了很长时间并错过了一些东西?
这是我的代码:
<?php
$q1 = mysql_escape_string($_POST['q1']);
$q2 = mysql_escape_string($_POST['q2']);
$q3 = mysql_escape_string($_POST['q3']);
$q4 = mysql_escape_string($_POST['q4']);
$q5 = mysql_escape_string($_POST['q5']);
$q6 = mysql_escape_string($_POST['q6']);
$q7 = mysql_escape_string($_POST['q7']);
$q8 = mysql_escape_string($_POST['q8']);
$q9 = mysql_escape_string($_POST['q9']);
$q10 = mysql_escape_string($_POST['q10']);
$q11a = mysql_escape_string($_POST['q11a']);
$q11b = mysql_escape_string($_POST['q11b']);
$q11c = mysql_escape_string($_POST['q11c']);
$q11d = mysql_escape_string($_POST['q11d']);
$q11e = mysql_escape_string($_POST['q11e']);
$q11f = mysql_escape_string($_POST['q11f']);
$q11g = mysql_escape_string($_POST['q11g']);
$q11h = mysql_escape_string($_POST['q11h']);
$q12 = mysql_escape_string($_POST['q12']);
$q13 = mysql_escape_string($_POST['q13']);
$q14a = mysql_escape_string($_POST['q14a']);
$q14b = mysql_escape_string($_POST['q14b']);
$name = mysql_escape_string($_POST['name']);
$email = mysql_escape_string($_POST['email']);
require_once('connection.php');
$sql="INSERT INTO survey (Question1, Question2, Question3, Question4, Question5, Question6, Question7, Question8, Question9, Question10, Question11A, Question11B, Question11C, Question11D, Question11E, Question11F, Question11G, Question11H, Question12, Question13, Question14A, Question14B, name, email) VALUES ('$q1', '$q2', '$q3', '$q4', '$q5', '$q6', '$q7', '$q8', '$q9', '$q10', '$q11a','$q11b', '$q11c','$q11d', '$q11e', '$q11f','$q11g','$q11h','$q12', '$q13', '$q14a', '$q14b' '$name', '$email')";
if (!mysql_query($sql,$conn))
{
die('Error: ' . mysql_error());
}
mysql_close($conn);
?>
解决方法:
之间缺少逗号:
'$q14b' '$name'
为什么我们会收到此错误:
考虑一个简单的表temp,其中包含2列v1和varchar类型的v2:
mysql> desc temp;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| v1 | varchar(10) | YES | | NULL | |
| v2 | varchar(10) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
现在让我们做2个插入:
mysql> insert into temp(v1,v2) values('foo' 'bar'); // missing comma..gives err.
ERROR 1136 (21S01): Column count doesnt match value count at row 1
mysql> insert into temp(v1,v2) values('foo' 'bar','faz'); // missing comma..no er
Query OK, 1 row affected (0.00 sec)
mysql> select * from temp; // 'foobar' got inserted in v1 !!
+--------+------+
| v1 | v2 |
+--------+------+
| foobar | faz |
+--------+------+
1 row in set (0.00 sec)
从这些非常明确的MySQL连接两个由空格分隔的相邻字符串,当发生这种情况时,您在值之后提供的参数数量减少1,因此其计数与导致此错误的列数不匹配.
内容总结
以上是互联网集市为您收集整理的Mysql和PHP错误:列计数与第1行的值计数不匹配全部内容,希望文章能够帮你解决Mysql和PHP错误:列计数与第1行的值计数不匹配所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。