2016-03-13 108 views
0

我試圖從我的數據庫中的特定行中獲取數據。 而我得到的錯誤:從特定行檢索數據

Unknown column 'Apalm' in 'where clause'

這是我的代碼:

$naam = $_GET['naam']; 
$result = mysql_query("SELECT * FROM planten WHERE naam = $naam") 
or die(mysql_error()); 

和下面的圖片顯示我的數據庫。

phpmyadmin

好像腳本認爲該行被稱爲「金棕樹」。但我明確表示要搜索'naam'?

這可能很容易解決,但我似乎無法在Google上找到它。 所以請幫助我,或者指出我朝着正確的方向。我非常渴望學習這一點!

在此先感謝!

+0

只是一個評論:你不應該以這種方式執行查詢構建文本,因爲它不是'sql注入'免費的;使用參數,避免幾個頭疼... – Marco

回答

0

naam列似乎是一個文本,所以SQL代碼中附上了單引號之間的值,以及:

"SELECT * FROM planten WHERE naam = '$naam'" 

但是,請考慮使用適當的兩種或轉義準備語句以防止SQL注入。

+0

你是完全正確的,但像這樣的查詢不是SQL注入安全!使用參數你不會強制引號或格式日期,你也可以避免SQL注入... – Marco

+0

@Marco我知道,我也叫OP的注意力。 – Shadow

+0

謝謝,先生!這個伎倆。這樣一個愚蠢的小錯誤。 我也會查看準備好的語句! – Laurenz