簡體   English   中英

在PHP中的多個表中進行UNION搜索

[英]UNION search in multiple tables in php

您好天才的程序員可以幫助我找出我在UNION搜索錯誤中的錯誤:“ mysqli_fetch_array()期望參數1為mysqli_result,布爾值”。

<?php 
        if(isset($_GET['search'])) {
            $search_key = $_GET['search'];
            $sql_search = "(SELECT lastname, firstname, 'organization_member' as type FROM org_member WHERE lastname LIKE '%" . 
                            $search_key . "%' OR firstname LIKE '%" . $search_key ."%')
                            UNION
                            (SELECT title, 'fedetated_member' as type FROM fedetated_members WHERE title LIKE '%" . 
                            $search_key . "%')";

            $query_search = mysqli_query($CONNECTION, $sql_search);
        }
    ?>

    <div class='body_wrap'>
        <div class='inner_wrap'>
            <span class='text_black_big'>SEARCH RESULT FOR: <?php echo $_GET['search']; ?></span>
                <table>
                <?php while($row_search = mysqli_fetch_array($query_search)) { ?>
                    <tr>
                        <td><br><?php echo $row_search['organization_member'] ?><br><br><?php echo $row_search['fedetated_member'] ?><br></td>
                    </tr>
                <?php } ?>
                </table>
        </div>
    </div>

https://msdn.microsoft.com/en-us/library/ms180026.aspx

將兩個或多個查詢的結果合並為一個結果集,該結果集包含屬於聯合中所有查詢的所有行。 UNION操作不同於使用合並兩個表中的列的聯接。 以下是使用UNION組合兩個查詢的結果集的基本規則:所有查詢中的列數和順序必須相同。 數據類型必須兼容。

您的查詢字符串不正確,因此$ query_search變量等於FALSE:

$ query_search = mysqli_query($ CONNECTION,$ sql_search);

您的SELECT語句必須選擇相同類型的列,並且第一個SELECT語句中的列名稱將用作返回結果的列名稱。 您可以在此處找到更多信息: UNION語法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM