2012-09-08 2 views
0

ı 2 개의 다른 테이블이 있습니다. 하나는 다른 소녀입니다. ı 모든 쿼리를 하나의 쿼리로 나열하려고합니다.mysql을 사용하여 여러 테이블에서 데이터를 검색하는 방법

ı 노동 조합을 사용하려했으나 제대로 작동하지 않았습니다.

$query=mysql_query("select * from girls union select * from boys"); 

오류 : \ WA

이 쿼리에서 데이터를 얻을 수 ı 못할 때문에 오류가 발생 : mysql_fetch_array()은 반환 매개 변수 (1) C에 주어진 자원, 부울이 될 것으로 기대하고있다.

http://www.w3schools.com/sql/sql_union.asp

ı

http://www.tutorialspoint.com/mysql/mysql-union-keyword.htm

이 약 somethingg를 읽을 수 있지만 couldnt는 문제를 발견 나는.

감사합니다. 사용하여 발생하는 어떤 오류

+0

두 테이블 정확히 같은 이름이 지정됩니다 똑같은 열이 있습니까? 명시 적으로 열을 선택하고 이름이 다른 경우 열 이름을 바꿀 수 있습니다. – ronalchn

+0

예 다른 열이 있지만 반드시 있어야합니다. – bayburt

답변

1

확인 :

$result = mysql_query("SELECT * FROM girls UNION SELECT * FROM boys"); 
if (!$result) { 
    var_dump(mysql_errno(), mysql_error()); 
} 
... 

내가 두 테이블 간의 열 다른 번호가 있기 때문에 그 가능성이 가장 높은 것 말할 것입니다.

mysql_* 함수는 더 이상 사용되지 않습니다. 대신 mysqli 또는 PDO을 사용하십시오.

+0

예 열 수에 차이가 있으며 반드시 있어야합니다. – bayburt

+0

@bayburt'UNION'을 사용할 때 같은 양의 컬럼을 가질 필요가 있기 때문에'*'대신에 그것을 지정해야합니다. 테이블에 열이 없으면 대신에 'NULL'을 사용하십시오. – Petah

0
$sql = " 
    SELECT * 
    FROM girls union 
    SELECT * FROM boys 
    "; 
    <table width="300" border="1"> 
<tr> 
    <td><b>ID</b></td> 
    <td><b>LName</b></td> 
    <td><b>FName</b></td> 
</tr> 
$result = mysql_query($sql); 
while($row = mysql_fetch_array($result)) 
{ 
//print data 
?> 
<tr> 
<td><? echo $row['id']; ?></td> //change the attribute 'id' inside the braketes 
          //with the name of the attributes from your tables 
    <td><? echo $row['Lname']; ?></td> 
    <td><? echo $row['Fname']; ?></td> 
</tr> 
<? 
} 
?> 
관련 문제