。還得接著。關於PHP中怎麼把數組作為sql查詢語句的條件,小弟My Code有有關問題

來源:互聯網
上載者:User
。。。還得接著求助。。關於PHP中如何把數組作為sql查詢語句的條件,My Code有問題
目前有兩張表:mhf (意為models_has_features), mhr(意為models_has_replacements). 其中msf的欄位為Model_Name和FD_Name(意為Feature Name),msr的欄位為Model_Name和RD_Name(意為Replacement Name).

現在通過php擷取了使用者對於features 和 replacement的選項,想通過這些選項進行資料庫搜尋,從而返回model名稱。

感謝上個文章版友的協助,我目前的相關代碼如下:

PHP code
$usrinput1=array_merge($outputs,$functions,$qualifications); //這裡是使用者輸入的features選項,其中各個變數均是數組,由多選列表而來$usrinput2=array_merge($ge,$ametek,$weschler,$prime,$vmi,$foxboro,$bailey,$chessell,$hays); //這裡是使用者輸入的replacement選項,其中各個變數也均是數組 $query0="SELECT mhf.M_Name FROM mhf,mhr           WHERE mhf.M_Name=mhr.M_Name           AND mhf.FD_Name='$input_signal'           AND mhf.FD_Name='$power_input'           AND mhf.FD_Name='$display'           AND mhf.FD_Name='$case_mounting'"; //其中,$power_input,$display,$case_mounting 均是字串變數,是由使用者選擇的單選列表擷取而來 $query1="AND mhf.FD_Name='".implode("' AND FD_Name='",$usrinput1)."'"; $query2="AND mhr.RD_Name='".implode("' AND RD_Name='",$usrinput2)."'"; $query=$query0.$query1.$query2;//這裡是想把這三個query組合成一個完整的query,從而達到 select SELECT mhf.M_Name FROM mhf,mhr  WHERE mhf.M_Name=mhr.M_Name  AND mhf.FD_Name='$input_signal'... AND mhf.FD_Name="userinput1裡各個值" AND mhr.RD_Name="userinput2裡各個值" 的效果。 $result = mysql_query($query) or die("Query failed");  


然後就是輸出代碼,
PHP code
 print "
  
   \n";    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {    print "\t
   
     \n"; foreach ($line as $col_value) { print "\t\t
     \n"; } print "\t
    \n"; } print "
   
$col_value
\n";


可是運行了之後沒有任何顯示啊,我保證自己的測試選項是應該有結果的,可是顯示不出來,希望各位高人看看My Code哪裡出錯了,多謝!


------解決方案--------------------
在你的 mhf 表中,M_Name 顯然是個分類
那麼,傳入的資料
誰對應 M_Name
誰對應 FD_Name

條件運算式應為
M_Name='值' AND FC_Name='值'

如果可以多選,則為
M_Name in('值1','值2','值3'...) AND FC_Name in('值1','值2','值3'...)
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.