2011-07-06 6 views
1

각 테이블의 첫 번째 행을 어떻게 인쇄합니까?테이블 이름을 가져와 각각의 첫 번째 행을 인쇄하십시오.

<?php 
$dbname = 'mysql_database'; 

if (!mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) { 
echo 'Could not connect to mysql'; 
exit; 
} 

mysql_select_db($dbname); 

$sql = "SHOW TABLES FROM $dbname"; 
$result = mysql_query($sql); 

if (!$result) { 
echo "DB Error, could not list tables\n"; 
echo 'MySQL Error: ' . mysql_error(); 
exit; 
} 

while ($row = mysql_fetch_row($result)) { 
//echo "<br>Table name is: {$row[0]}\n"; 

// Make a MySQL Connection 
$tableQuery = "SELECT * FROM $dbname.$row[0] LIMIT 1"; 
$tableResult = mysql_query($tableQuery) or die(mysql_error()); 

$firstRow = mysql_fetch_array($tableResult) or die(mysql_error()); 
//echo $firstRow['name']. " - ". $firstRow['age']."<br>"; 
    //how do i print field name row and first row of values 
    //if I don't know the field names 


} 

//mysql_free_result($result); 
?> 
+1

이 작동하지 않는 경우에 1 행을 가져올 것인가? 대신 무엇이 인쇄됩니까? – sdleihssirhc

+0

"데이터베이스가 선택되지 않았습니다" – sandraqu

답변

3

당신은 어느

mysql_select_db($db_name); 

을하고 또는

$tableQuery = "SELECT * FROM $db_name." . $row[0]; 

그래서 당신의 내부 쿼리가 실패를 수행하여 기본 DB를 변경되지했습니다. 이것은 단순히 발견 한 첫 번째 행을 얻을,이 :

+0

조금 더 지시하십시오. 나는 초보자입니다. 각 테이블에 값의 첫 번째 행을 인쇄하려고합니다. 이전의 말씨가 혼란 스러웠을 수도 있습니다. db, host, user 및 passwd 값 (즉, mysql_database)은 플레이스 홀더입니다. – sandraqu

+0

나는 귀뚜라미를 얻는다. $ tableQuery 행을 사용하면 빈 페이지 결과가 완전히 나타납니다. – sandraqu

+0

쿼리를 에코 아웃하고 수동으로 실행 해보십시오. –

0

난 당신이

SELECT * FROM tbl LIMIT 1 

사용 주 1 행에 결과를 제한 할 뿐이다 '각 테이블의 첫 번째 행'가 무슨 뜻인지 모르겠어요 삽입 된 첫 번째 행이 아닐 수도 있고, 삽입 된 마지막 행이 될 수도 있습니다. 명시 적 순서가 내포되어 있지 않습니다.

0

변경 다음과 같은 쿼리는 테이블

$tableQuery = "SELECT * FROM ".$row[0]."LIMIT 1"; 
+0

oy! 결과는 다음과 같습니다. SQL 구문에 오류가 있습니다. 첫 번째 줄에서 '1'근처에서 사용할 올바른 구문에 대해서는 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. – sandraqu

+0

mysql에 연결 한 후 (첫 번째 if 문 이후) mysql_select_db ($ dbname); , 그것은 당신의 오류를 해결할 것입니다. – Chintan

관련 문제