2014-10-12 62 views
-4

對於PHP來說,這是相當新穎的並且可以解決這個問題。您的SQL語法有錯誤;檢查與您的MySQL服務器版本相對應的手冊,以在'''附近使用正確的語法)

我試圖從下拉菜單中插入一些信息到數據庫中,但不斷收到此錯誤。如果可以的話請幫忙。

PHP代碼爲:

<select name="group_ID"> 
    <?php 
    $pos_query ="SELECT groupName, group_ID FROM 'operations' JOIN members WHERE operations.group_ID = members.group_ID"; 
    $pos_results = $db->query($pos_query); 

    for ($i=0; $i < $pos_results->num_rows ; $i++) 
    { 
     $pos_row = $pos_results->fetch_assoc(); 
     echo'<option value"'.$pos_row['group_ID'].'">'; 
     echo $pos_row['groupName'].'</option>'; 
    } 

    ?></select></td> 

我有一個表稱爲操作,並試圖它加入到另一個表調用的成員,該數據插入到成員表。 錯誤是: 您的SQL語法有錯誤;檢查與您的MySQL服務器版本相對應的手冊,以在'''附近使用正確的語法)SELECT'Church Elders'FROM operations JOIN members ON ope'at line 1.

對不起我發佈了錯誤代碼。 實際的代碼是:

$查詢=「INSERT INTO成員(電子郵件,姓名,性別,出生日期,個人資料,密碼) SELECT $ GROUP_ID 運營 加入會員 WHERE operations.group_ID =「$ GROUP_ID '「;

$result = $db->query($query); 

正試圖將電子郵件,姓名,性別...... GROUP_ID到成員表和操作表獲取GROUP_ID並得到以下錯誤消息:

錯誤插入的詳細信息。錯誤消息: 您的SQL語法有錯誤;請檢查與您的MySQL服務器版本相對應的手冊,以選擇正確的語法以在''附近使用'SELECT Church Elders FROM操作JOIN成員WHERE oper'在第1行。

Please help !!!!

+0

我們需要'$ pos_query'的值。 – Tserkov 2014-10-12 06:05:28

+0

你在sql命令中有錯誤。不在上面。 – itachi 2014-10-12 06:05:45

+0

請發佈錯誤。 – 2014-10-12 06:07:51

回答

0

無需使用帶有表名的單引號(「操作」)&與像groupName.operations,group_ID.operations行指定表名。

+0

試過但沒有運氣。 – 2014-10-12 06:42:16

+0

我已經測試過它使用像「SELECT table1.num1 FROM table1 JOIN table2 WHERE table1.id = table2.id」這樣的虛擬數據&發現好,你能指定新的錯誤信息嗎? – Jobayer 2014-10-12 06:54:40

0

你可能打算在你的SQL查詢中使用反引號,而不是單引號。此外,您可能是指ON聲明,而不是WHEREWHERE用於篩選,而ON則告訴JOIN聲明要加入的列。

SELECT `groupName`, `group_ID` FROM `operations` JOIN `members` ON `operations`.`group_ID` = `members`.`group_ID` 
+0

我確實將WHERE更改爲ON,但仍然使用反引號獲取錯誤消息。越來越沮喪! – 2014-10-12 06:40:53

+0

哪個錯誤?標題中的那個,還是您對OP最新評論中的一個?你的OP註釋中的錯誤看起來像你試圖在一個'query()'調用中執行多個查詢,這對於該函數來說是不可能的,不管缺少分號。 – Tserkov 2014-10-12 06:45:14

相關問題