2011-02-19 28 views
0

我在此代碼中遇到錯誤。有沒有人看到我做錯了什麼。這是錯誤我得到:SQL PHP語法錯誤優化

Died 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 ')' at line 1

這是代碼:

$depSQL = mysql_query("SELECT department_array FROM busDetails WHERE bus_id='".$bus_id."' LIMIT 1"); 
    while($row=mysql_fetch_array($depSQL)) 
    { 
    $depARRAY = $row["department_array"]; 
    } 
    $stSQL = mysql_query("SELECT department_id, staff_array FROM institute_departments WHERE department_id IN ($depARRAY)") or die ("Died ".mysql_error()); 
    while($get=mysql_fetch_array($stSQL)) { 
    $stARRAY = $get["staff_array"]; 
    $id = $get["department_id"]; 
    $explodedST = explode(",", $stARRAY); 
    foreach ($explodedST as $key2 => $value2) { 
     if ($value2 == $bus_id) { 
      unset($explodedST[$key2]); 
     } 
} 
$newST = implode(",", $explodedST); 
echo $id . " " . $newST . "<BR/>" ; 
$sql = mysql_query("UPDATE institute_departments SET staff_array ='$newST' WHERE  department_id='$id'"); 
} 
+0

當我回聲查詢我得到這樣的:'死了:SELECT部門, staff_array FROM institute_departments WHERE department_id IN(233,1,2,3,265,6,7,8,9,) 您的SQL語法錯誤;請查看與您的MySQL服務器版本相對應的手冊,以獲取要使用的正確語法''''在第1行'我錯過了什麼? – Buki 2011-02-19 05:07:59

+0

HAHAHAHAHA。謝謝你們。我睡了一會兒,我想它是我的代碼。你知道如何去除一個空數組嗎?我的php代碼插入任何幫助將是偉大的!!再次感謝 – Buki 2011-02-19 05:13:10

+0

你知道如何去除多餘的逗號嗎?你可以看看我的代碼,並建議我可以做些什麼。 – Buki 2011-02-19 05:26:33

回答

1
$strArray = explode(',' , trim($depARRAY)); 

$count = count($strArray); 
if(empty($strArray[$count-1])) 
    unset($strArray[$count-1]); 

$depARRAY = implode(',' , $strArray); 

你必須採取的extra comma照顧,而插入值

2

迴應你的查詢,你可能會看到它。

例子:

echo $stSQL; 

你有一個逗號太多。看後9:「7,8,9,)