[英]MYSQL - INSERT error, unknown column in field list
我一直從這個簡單的mysql語句中得到以下錯誤,我看不到為什么。 我肯定它是顯而易見的。
require_once("connect.php");
$query = mysql_query("SELECT * FROM accounts ORDER BY id DESC LIMIT 1");
$row = mysql_fetch_assoc($query);
$balanceold = $row['balance'];
$difference = $_POST['predec'].".".$_POST['dec'];
$category = $_POST['category'];
$notes = $_POST['notes'];
if(isset($_POST['in'])){
$balancenew = $balanceold + $difference;
$query = mysql_query("INSERT INTO accounts(currentbalance, balancein, category, notes) VALUES (".$balancenew.", ".$difference.", ".$category.", ".$notes.")");
if($query){
header("Location: budget.php");
}
else{
die(mysql_error());
}
}
給出錯誤:“字段列表”中的未知列“發薪日”
這是我的表單代碼:
<form action=process.php method=post>
£
<input type=text name=predec size=7>
.
<input type=text name=dec size=4 value=00>
<br />
<select name=category>
<option value=payday>Payday</option>
</select>
<input type=text name=notes size=20>
<input type=submit name=in value=Deposit>
<input type=submit name=out value=Withdraw>
</form>
數據庫表“帳戶”包含以下字段:
id,int primary A_I
余額,十進制10,2
余額,十進制10,2
當前余額,十進制10,2
類別,varchar 50
筆記,varchar 255
日期,時間戳
...以該順序
那是因為您在INSERT查詢中有語法錯誤。 字符串和日期值在sql中傳遞為單引號而不是雙引號 。 的。 或不需要字符串串聯字符。 因此,根據您提供的數據,可能是
$query = mysql_query("INSERT INTO accounts(currentbalance, balancein, category, notes)
VALUES ($balancenew, $difference, '$category', '$notes')");
基本上,sql告訴您的是您正在引用插入中未在數據庫中定義的列。 提供表結構或確保列名與您在數據庫中定義的名稱完全相同。 HTH。
我想您已經錯過了用單引號將$ notes和$ category括起來的逗號。 將它們括在'中,您的問題應得到解決。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.