我對web開發很新,所以很有可能我在這裏做一些非常愚蠢的事情。MySQL錯誤:不正確的表名
我使用AJAX將數據發送到PHP文件,該文件將使用數據運行SQL命令來更新表。我正在處理編輯文章,所以我的PHP文件需要知道三件事:文章的原始名稱(供參考),新名稱和新內容。我也告訴它用戶正在看什麼頁面,以便知道要編輯哪個表格。
$('#save_articles').click(function() {
var current_page = $('#current_location').html();
var array_details = {};
array_details['__current_page__'] = current_page;
$('#article_items .article_title').each(function(){
var article_name = $(this).html(); //The text in this div is the element name
var new_article_name = $(this).next('.article_content');
new_article_name = $(new_article_name).children('.article_content_title').html();
var new_article_content = $(this).next('.article_content');
new_article_content = $(new_article_content).children('.article_content_content').html();
array_new_deets = {new_name:new_article_name, content:new_article_content};
array_details[article_name] = array_new_deets;
});
send_ajax("includes/admin/admin_save_articles.php", array_details);
});
在PHP文件,我首先檢索當前頁面並將其存儲在$ sql_table,然後從$ _ POST刪除當前頁面的變量。然後我運行這個。
foreach($_POST as $key => $value){
$original_name = $key;
$new_name = $value['new_name'];
$new_cont = $value['content'];
$query = "UPDATE
`$sql_table`
SET
`element_name`= '$new_name',
`element_content` = '$new_cont',
WHERE
`element_name` = '$original_name'";
$query = mysql_query($query);
if(!$query){
die(mysql_error());
}
}
我總是收到一個錯誤,說'sitep_Home'是一個不正確的表名。它不僅是我的數據庫中的一張真正的表格,而且實際上我更改了它的名稱以確保它不是關鍵字或其他內容的問題。
如果我在沒有變量$ sql_table的情況下運行查詢(指定該表稱爲「sitep_Home」),則該查詢接受該表。然後它並沒有實際更新表,我懷疑這是因爲WHERE參數也使用了一個變量。
任何人都可以看到我在做什麼錯在這裏?
感謝
你確定'$ sql_table'變量中沒有空白嗎? – 2013-04-05 13:35:27
'我首先檢索當前頁面並將其存儲在$ sql_table'中......怎麼樣? – Amir 2013-04-05 13:38:08
我正在向JS警報迴應變量,而且看起來沒有任何空格。但是通過trim()運行它,現在MySQL正在接受它作爲表名。不幸的是,現在它說我的桌子不存在。 – user1537360 2013-04-05 14:01:16