php
  • sql
  • mysql
  • 2009-09-12 64 views 0 likes 
    0

    從所有匹配字段獲取數據的propper語法是什麼?如何從所有匹配字段中獲取數據?

    這個例子只輸出匹配字段1:

    $myvariable = "SELECT post_content 
           FROM wp_posts 
           WHERE post_name = 'testing' 
            AND post_status = 'publish' 
            AND post_type = 'post'"; 
    
    echo = $myvariable; 
    

    回答

    2

    您需要獲取該查詢的數組:

    <?php 
    $query = mysql_query("SELECT post_content FROM wp_posts WHERE post_name = 'testing' AND post_status = 'publish' AND post_type = 'post'"); 
    while($result = mysql_fetch_array($query)){ 
    echo $result['post_content']; 
    } 
    ?> 
    

    這將遍歷從查詢結果列表和呼應POST_CONTENT字段值。

    編輯:哇...同樣的事情,晚了幾秒鐘。哈!

    +0

    非常感謝。你的回答非常有幫助! – Ronal 2009-09-21 16:52:11

    0

    列表都在你的SELECT語句或使用*字段選擇所有。

    $myvariable = "SELECT * FROM wp_posts WHERE post_name = 'testing' AND post_status = 'publish' AND post_type = 'post'" 
    
    +0

    我不認爲他是想選擇所有列......他用錯字眼,但我認爲他試圖找到所有匹配的行和呼應他們,這我已經解釋以上。 – BraedenP 2009-09-12 08:28:45

    +0

    @BraedenP,根據這個文本「這個例子只輸出1個匹配的字段:」,他從數據庫中獲取一些數據。所以我認爲他想列出表格中的所有字段。我可能是錯的,但這就是我對這個問題的理解。 – Mohamed 2009-09-12 08:40:32

    0

    您需要提取查詢並對返回的結果行運行循環。

    $query = mysql_query("SELECT post_content FROM wp_posts 
          WHERE post_name='testing' 
          AND post_status='publish' AND post_type = 'post'"); 
    

    您需要將上述查詢調整爲想要顯示的行,以及要匹配的任何標準。

    然後運行就像一個while環路與各行各道次返回:

    while($result = mysql_fetch_array($query)) 
    { 
        echo $result["post_content"]; 
    } 
    

    以上會去拔出所有行逐一匹配您的查詢,但是顯示出來你的風格。

    1

    你的問題不清楚給我。可能有兩種情況:

    1. 您希望獲得與您的條件匹配的所有行。 那麼你應該使用一個循環來獲取所有匹配的記錄如下:

      $result = mysql_query("SELECT post_content FROM wp_posts WHERE post_name = 'testing' AND post_status = 'publish' AND post_type = 'post'"); 
      
      if(mysql_num_rows($result)>0) 
      while($row = mysql_fetch_assoc($result)){ 
          echo $row['post_content']; 
      } 
      
    2. 我不明白,你想知道什麼。如果你想選擇選擇行的所有字段,然後使用:

      SELECT * FROM wp_posts WHERE post_name = 'testing' AND post_status = 'publish' AND post_type = 'post' 
      

      OR

      SELECT col1,col2,...,coln FROM wp_posts WHERE post_name = 'testing' AND post_status = 'publish' AND post_type = 'post' 
      

      如果要檢查所有的字段,那麼你在正確的軌道上的條件,只是比較各值與其各自的列。

    0

    如果你想匹配任何,那麼你的SQL是錯誤的。

    SELECT post_content FROM wp_posts WHERE post_name = 'testing' OR post_status = 'publish' OR post_type = 'post' 
    

    上面的查詢查找每個只包含一個搜索字符串的記錄。

    但是如果你想在一個句子中找到它,那麼你最好使用MATCH功能。

    MySQL Full-Text Search Functions

    相關問題