設置簡單,可能的原因瘋狂的金額(以一個沒有經驗的程序員,例如我自己,至少):MySQL的更新只更新整數,而不是字符串
隨着JS我定義的,後來電話:
function dbUpdate(x, y, z) {
$.ajax({
url: 'php/dbUpdate.php',
type: 'post',
data: {table: x, column: y, value: z},
success: function(html) {
}
});
}
dbUpdate("userbase", "currentLanguage", "en");
用PHP/dbUpdate.php,這個數據被捕獲並加工成更新查詢,這曾無數次:
$userID = 0;
$table = ($_POST['table']);
$column = ($_POST['column']);
$value = ($_POST['value']);
mysql_query("UPDATE $table SET $column=$value WHERE id=$userID", $con);
// assume $con is defined
問題:當DBU pdate的'z'參數是一個整數(例如,var z = 70;)則沒有問題。但是,當它是一個簡單的字符串(例如,var z =「en」;如上)時,它不會更新。
我檢查了數據庫的結構,它被設置爲'varchar',所以它應該接受字符串,但是,嘿,我是誰,我認爲我知道這件事是通過和通過。
我猜這是一個簡單的語法類的初學者還沒有感覺的東西,但我厭倦了無休止地調整語法沒有結果,或結果,以後會拍攝麻煩時以新的方式使用。
所以這裏是希望你可以和我一起工作!
除非你計劃在回調函數中使用'html',因爲你沒有回調使用,你可以刪除它。 –
mysql_query(「UPDATE $ table SET $ column =」$ value「WHERE id = $ userID」,$ con); –
如果你使用它,你會得到一個語法錯誤,因爲你沒有正確地連接你的變量。請看我的回答 –