我試圖通過表單輸入多個數據,所有的數據將被(,)分隔。我打算使用這些數據來查找相應的id,以便通過sql查詢進一步處理。只從MYSQL數據庫檢索1行數據
以下是我使用的代碼。
$key_code = explode(",", $keyword);
//$key_count = count($key_code);
$list = "'". implode("','", $key_code) ."'";
//$row_count = '';
$sql4= "SELECT key_id FROM keyword WHERE key_code IN (".$list.")";
if(!$result4 = mysql_query($sql4, $connect)) {
mysql_close($connect);
$error = true;
}else{
//$i = 0;
while($row = mysql_fetch_array($result4)) {
$keyword_id[] = $row['key_id'];
//$i++;
}
//return $keyword_id;
}
我看到的問題是,keyword_id [0]是包含任何數據(數據是準確的)的唯一元素。即使我通過上述形式輸入多個值。
我想這可能是在SQL的錯誤,但我echo'ed它,它看起來像:
SELECT key_id FROM keyword WHERE key_code IN ('WED','WATER','WASTE')
括號內的值是什麼我輸入。
我甚至試圖找出有多少行被查詢返回,它只顯示1.我認爲我的查詢出了問題,但我無法確定位置。
任何幫助將不勝感激。
編輯:好吧解決的問題。感謝我提出的建議,我複製並粘貼了我在網站上回復到mysql控制檯的$ sql_query;導致只有1行被檢索。在仔細觀察之後,我意識到'和第二個單詞之間存在空格。我相信這個問題開始時我輸入key_code爲:
WED,水,廢棄物
而是輸入它作爲
WED,水,廢棄物
解決了這個問題。我認爲我應該這樣做,以便它可以在兩種方式下工作。
無論如何,謝謝你的幫助。
表中有多少數據? echo'd SQL語句看起來很好,所以接下來要檢查的是'KEYWORD.key_code'列實際上具有這三個值中的任何一個。 – 2010-09-08 23:19:01