所以我得到這個錯誤:MySQL的列失配誤差
Error: Column count doesn't match value count at row 1
(很常見的,我已經通過谷歌檢查,我的問題是,大多數的問題都是實際comlumn因爲它描述的不匹配)
我的位置表具有「user」,「latitude」,「longitude」,「posttext」,user和posttext都是varchar,lat和long都是int。目前,我只是試圖插入用戶和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;
?>
所以我希望這是我的一個非常基本的語法錯誤,但可能有人幫助嗎?
以這種方式在查詢中插入數據可能會導致mysql注入並且非常不安全!一旦問題解決,我建議你查看mysql_real_escape或參數化查詢。 – Damp 2012-03-23 14:54:07
我會做的!這只是一個大學項目,但正如我下面所說,對不良做法的建議對我有幫助,所以也謝謝:) – Sheshka 2012-03-23 15:04:21