0
所以我很抱歉,因爲我覺得我問了很多愚蠢的問題。我正在學習,但我到了那裏。PHP更新MySQL,表單輸入通過列名
我已經創建了一個基本的HTML表單,並在前面的回答幫助下完成了PHP和MySQL查詢。但是,當我提交表單時,表單中的輸入值將作爲列名而不是行中要更新的信息。
簡單來說,當輸入是否更改名字來自詹姆斯·喬希錯誤消息的形式提交是:
「錯誤更新記錄:未知列‘喬希’在‘字段列表’」
我雖然在我的SQL查詢下面它會拿起列名作爲first_name,但這顯然不會發生。
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "Users";
//Create variables
$first_name=$_POST['first_name'];
$last_name=$_POST['last_name'];
$ID=$_POST['ID'];
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "UPDATE Users SET first_name=$first_name, last_name=$last_name WHERE
ID=$ID";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
$conn->close();
?>
可能重複https://stackoverflow.com/questions/1346209/unknown-column-in-field-list-error-on-mysql-update-query –
我通過閱讀但似乎沒有涵蓋我得到的問題。我的問題是表單輸入正在改變SQL查詢中預期的列名稱。所以,在列名是first_name的情況下,我想將它更新爲Josh,它實際上是在尋找列名Josh。 – James
您在$ first_name和其他字段中沒有引號。字符串應該用引號括起 –