2012-02-10 76 views
-2

**的**代碼mysql的語法錯誤

$ah_title = $_POST['ah_title']; 
$ah_postin = $_POST['ah_postin']; 
$ah_content = $_POST['ah_content']; 
date_default_timezone_set('America/Los_Angeles'); 
$ah_date = date("m/d/y"); 
$ah_query = "INSERT INTO '$ah_title' (title,content,date) VALUES ('$ah_title','$ah_content','$ah_date') "; 

**的錯誤**

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''test' (title,content,date) VALUES ('test','test','02/09/12')' at line 1 

能否請你幫我理解的錯誤,以及如何解決它。

+0

謝謝eveyrone爲你的快速響應我覺得我需要的表是$ ah_postin不是$ sh_title再次感謝 – Cjueden 2012-02-10 02:38:43

回答

2

您插入表中'測試'。你有一張名爲test的表嗎?插入$ ah_title?你確定這是準確的嗎?

+0

非常感謝你這是我的問題 – Cjueden 2012-02-10 02:40:33

1

不要用引號

$ah_query = "INSERT INTO $ah_title (title,content,date) VALUES ('$ah_title','$ah_content','$ah_date') "; 

換表名和請抵禦SQL注入

$ah_title = mysql_real_escape_string($_POST['ah_title']; 

這不是顯而易見你用什麼作爲數據庫庫,以便確切的方法逃跑是未知的。

+0

沒有工作 – Cjueden 2012-02-10 02:36:59

+0

@Cjueden必須給我們更多的東西。我的車無法工作 - 您是否可以通過電話爲我解決問題而不詢問任何其他詳細信息? – 2012-02-10 02:37:45

1

請勿使用單引號來轉義實體名稱。使用反引號。

$ah_query = "INSERT INTO `$ah_title` (`title`,`content`,`date`) VALUES ('$ah_title','$ah_content','$ah_date') "; 
0

DATE是MySQL中的保留字。你需要在它周圍使用反引號,以及在表名周圍使用反引號代替單引號