2012-06-25 55 views
0

我有以下查詢:錯誤1054在MySQL查詢

$query="SELECT language_value, votes, user_id FROM labels WHERE approved=1 AND label_value=". 
      $data[$i]['label_value']." AND language=".$language_id; 

我已經得到了錯誤:

Error Number: 1054 
Unknown column 'AccountPagesView.a_book' in 'where clause' 

但 'AccountPagesView.a_book' 是$值數據[$ i] [」 label_value']並且不是列。我在哪裏犯了一個錯誤?

+0

,而不是運行在的mysql_query查詢()第一個回波此查詢作爲然後複製它,然後在MySQL瑜珈或任何SQL界面運行它的字符串,看看它是如何工作 –

回答

3

你應該在'括在MySQL的任何字符串值:

$query= "SELECT language_value, votes, user_id FROM labels WHERE approved=1 AND label_value='". 
     $data[$i]['label_value']."' AND language='".$language_id."'"; 

(我只是在猜測,這是弦列。)

編輯

尖的通過@vstm輸出:確保您在這裏插入的值正確轉義。

+0

這是將也是我的建議。在查詢中看不到任何其他顯而易見的內容。 – Fluffeh

+0

如果您使用該解決方案,請不要忘記**正確地轉義**插入到查詢中的值! – vstm

+0

我補充說,你建議我,但它不能正常工作。所以,請告訴我,我如何逃避價值觀? – user1477886

0

試試這個

$query="SELECT language_value, votes, user_id FROM labels WHERE approved=1 AND label_value='".$data[$i]['label_value']."' AND language='".$language_id."'";