获取表名并打印每个表的第一行

时间:2011-07-06 19:27:18

标签: php mysql

如何打印每张表的第一行?

<?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);
?>

3 个答案:

答案 0 :(得分:3)

您没有通过

更改默认数据库
mysql_select_db($db_name);

或正在做

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

所以你的内部查询失败了。

答案 1 :(得分:0)

我不确定'每张桌子的第一排'是什么意思 但要将结果限制为1行使用

SELECT * FROM tbl LIMIT 1

注意:这只是获取它找到的第一行,这可能是也可能不是插入的第一行,它也可以很容易地插入最后一行。 没有明确的暗示顺序。

答案 2 :(得分:0)

如下所示更改查询,它将获取表格中的第一行

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