新手半夜求解:Unknown column 'qq' in 'field list'怎麼解決
這個是我自己練習的時候遇到的問題,新手,別笑話...
這個是建表的代碼:
[email protected]_connect('localhost','root','123');
if($con)
{
mysql_select_db("employee",$con);
$sql="CREATE TABLE personal_data
(
id int(5) not null auto_increment primary key,
name char(10) not null,
qq char(16) not null,
tel char(14) not null,
email char(20) not null,
social_security char(22) not null,
postcode char(15) not null,
home_add char(26) not null,
home_tel char(14) not null,
residence_registration char(10) not null,
nation_place char(14) not null
)";
$do=mysql_query($sql,$con);
if($do)
{
echo "成功在employee資料庫中建立使用者表!";
}
else echo "建表有錯誤...";
}
else
{
echo "串連錯誤";
}
?>
因為分不是很清楚int 和 char 的區別,所以都是用 char 。
這個是deal的代碼:
echo " ";
if($_POST)
{
$name=$_POST["name"];
$qq=$_POST["qq"];
$tel=$_POST["tel"];
$email=$_POST["email"];
$social_security=$_POST["social_security"];
$postcode=$_POST["postcode"];
$home_add=$_POST["home_add"];
$home_tel=$_POST["home_tel"];
$residence_registration=$_POST["residence_registration"];
$nation_place=$_POST["nation_place"];
$con=mysql_connect("localhost","root","123");
mysql_select_db("employee");
mysql_query("SET NAMES GB2312");
$sql="SELECT COUNT(*) FROM personal_data WHERE name='$name'";
$result=mysql_query($sql);
$num=mysql_fetch_row($result);
if($num[0]>0)
{
echo "存在同名使用者,重新輸入使用者名稱!";
}
else
{
$sql="INSERT INTO staff_information(name,qq,tel,email,social_security,postcode,home_add,home_tel,residence_registration,nation_place) VALUES ('".$name."','".$qq."','".$tel."','".$email."','".$social_security."','".$postcode."','".$home_add."','".$home_tel."','".$residence_registration."','".$nation_place."')";
$re=mysql_query($sql)or die(mysql_error());
if($re) echo "成功插入記錄!";
else echo "插入記錄失敗!";
echo "
";
}
}
else
{
echo "沒有提交內容!
";
}
echo "
點這裡返回";
?>
大學裡的新手,研究了幾個小時了,百度Google了好久都解決不了,希望有高手可以幫我,萬分感謝。
------解決方案--------------------
1.int 是整數類型 char 是字元類型 現在一般使用varchar
int:從 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型資料(所有數字)。儲存大小為 4 個位元組
char 和varchar:CHAR列的長度固定為建立表時聲明的長度。長度可以為從0到255的任何值。當儲存CHAR值時,在它們的右邊填充空格以達到指定的長度。當檢索到CHAR值時,尾部的空格被刪除掉。在儲存或檢索過程中不進行大小寫轉換。
VARCHAR列中的值為可變長字串。長度可以指定為0到65,535之間的值。(VARCHAR的最大有效長度由最大行大小和使用的字元集確定。整體最大長度是65,532位元組)。
2.qq 這個欄位在資料庫裡不存在
------解決方案--------------------
SQL code
CREATE TABLE personal_data(id int(5) not null auto_increment primary key,name char(10) not null,qq char(16) not null,tel char(14) not null,email char(20) not null,social_security char(22) not null,postcode char(15) not null,home_add char(26) not null,home_tel char(14) not null,residence_registration char(10) not null,nation_place char(14) not null)
------解決方案--------------------