——————
mysql_field_table은 데이터 테이블의 이름을 가져오는 함수입니다.
일반적인 상황에서는 sql select가 1개의 테이블만 쿼리하며 실행 가능합니다.
실례합니다: SQL 선택이 통합된 여러 테이블을 쿼리한 후 여러 테이블 이름을 얻는 방법은 무엇입니까?
——————
실행 코드:
//sql 선택 전용 데이터 1개만 쿼리
<code>$sql = " SELECT id,title FROM `TABLE1` WHERE id IN($id) ORDER BY id DESC LIMIT 0,10 "; $result = mysql_query($sql); $table_name = mysql_field_table($result,0); echo "<br />表名:$table_name";</code>
——————
질문 코드:
<code>//合并2个表,按时间倒序取出前10条记录 $sql = " SELECT id,title FROM `TABLE1` WHERE id IN($id) UNION SELECT id,title FROM `TABLE2` WHERE id IN($id) UNION ORDER BY id DESC LIMIT 0,10 "; $result = mysql_query($sql); if( $result ){ if( mysql_num_rows($result) ){ $a = array(); while($arr = mysql_fetch_array($result)){ $table_name = mysql_field_table($result,0); echo "<br />表名:$table_name"; //***就是在这里 //***请问各位,怎么获取多个表名 } } }</code>
——————
경례
감사합니다!
——————
mysql_field_table은 데이터 테이블의 이름을 가져오는 함수입니다.
일반적인 상황에서는 sql select가 1개의 테이블만 쿼리하며 실행 가능합니다.
실례합니다: SQL 선택이 통합된 여러 테이블을 쿼리한 후 여러 테이블 이름을 얻는 방법은 무엇입니까?
——————
실행 코드:
//sql 선택 전용 데이터 1개만 쿼리
<code>$sql = " SELECT id,title FROM `TABLE1` WHERE id IN($id) ORDER BY id DESC LIMIT 0,10 "; $result = mysql_query($sql); $table_name = mysql_field_table($result,0); echo "<br />表名:$table_name";</code>
——————
질문 코드:
<code>//合并2个表,按时间倒序取出前10条记录 $sql = " SELECT id,title FROM `TABLE1` WHERE id IN($id) UNION SELECT id,title FROM `TABLE2` WHERE id IN($id) UNION ORDER BY id DESC LIMIT 0,10 "; $result = mysql_query($sql); if( $result ){ if( mysql_num_rows($result) ){ $a = array(); while($arr = mysql_fetch_array($result)){ $table_name = mysql_field_table($result,0); echo "<br />表名:$table_name"; //***就是在这里 //***请问各位,怎么获取多个表名 } } }</code>
——————
경례
감사합니다!
Union 이후의 결과 세트는 동일한 데이터베이스 테이블로 간주되므로 여기서 mysql_field_table을 어떻게 얻어도 테이블 이름은 하나만 얻을 수 있습니다. 올바른 접근 방식은 SQL 문을 구성할 때 해당 문이 나오는 데이터베이스 테이블의 이름을 각 레코드에 연결하여 결과 집합에서 이 데이터가 어느 데이터베이스 테이블에서 나오는지 알 수 있도록 하는 것입니다.
<code>$sql = " SELECT id,title,'TABLE1' AS ComesFrom FROM `TABLE1` WHERE id IN($id) UNION SELECT id,title,'TABLE2' FROM `TABLE2` WHERE id IN($id) UNION ORDER BY id DESC LIMIT 0,10 ";</code>