所以我收到了这个错误:
Error: Column count doesn't match value count at row 1
(非常常见,我已经通过谷歌检查了,我的问题是大多数问题都是实际的comlumn不匹配,因为它描述了)
我的位置表有“user”,“latitude”,“longitude”,“posttext”,user和posttext都是varchar,而lat和long都是int。目前,我只是尝试使用user和posttext值插入值。我从我的php中取出了查询,并在phpmyadmin的SQL部分运行它运行正常,所以我不知道为什么我收到错误。
php表单从文本框提供帖子数据,这是php处理代码:
<?php
error_reporting(E_ALL);
$username = $_POST['user'];
$textToPost = $_POST['textToPost'];
$con = mysql_connect("127.0.0.1","*","*");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("test");
$sql= "INSERT INTO location(user, posttext)
VALUES ('.$username.,.$textToPost.')";
if (!mysql_query($sql))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con);
echo $username;
echo $textToPost;
?>
所以我希望这对我来说是一个非常基本的语法错误,但有人可以帮忙吗?
答案 0 :(得分:2)
你错过了一些引用:
$sql= "INSERT INTO location(user, posttext)
VALUES ('".$username."','".$textToPost."')";
答案 1 :(得分:1)
查询不应该是这样的吗?
$sql= "INSERT INTO location(user, posttext)
VALUES ('".$username."','".$textToPost."')";
答案 2 :(得分:1)
尝试
$sql= "INSERT INTO location(user, posttext)
VALUES ('".$username."','".$textToPost."')";
请记住,在查询中使用之前,必须始终清理用户输入!!
使用准备好的陈述可能会更好......