Hello天才程序员可以帮我解决UNION搜索错误中的错误“mysqli_fetch_array()期望参数1为mysqli_result,boolean”。
<?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>
答案 0 :(得分:0)
https://msdn.microsoft.com/en-us/library/ms180026.aspx
将两个或多个查询的结果合并到一个结果集中 包括属于union中所有查询的所有行。 UNION操作与使用组合列的连接不同 从两张桌子。以下是组合的基本规则 使用UNION的两个查询的结果集:数字和顺序 所有查询中的列必须相同。数据类型必须是 兼容。
答案 1 :(得分:0)
您的查询字符串不正确,因此$ query_search变量等于FALSE:
$ query_search = mysqli_query($ CONNECTION,$ sql_search);
您的SELECT语句必须选择相同类型的列,并将第一个SELECT语句中的列名用作返回结果的列名。 您可以在此处找到更多信息:UNION Syntax