所以,我对 mysql 的了解非常有限。通常,在处理我们网站上的内容时,我习惯从我们的 cms 表达式引擎加载它,我对此很了解。但最近我必须更新这个页面,直接从我们的数据库加载数据。我前一段时间学习了mysql的类(class),但我仍然不知道如何使用它。
该页面不需要使用太多信息,基本上只是向不同企业颁发的奖项列表。我假设数据库中的表只有一列用于显示企业名称、城市、年份和获奖类型。像这样的东西。
现在访问数据库似乎并不太难,我觉得我可以通过谷歌搜索找到我需要的东西。但首先,我只想看看实际的表格!为什么手续这么复杂?
我正在处理的文件上的代码是这样设置的以访问数据库:
$user_name = "xxxxxxxxxx";
$password = "xxxxxxxxxx";
$server = "xxxxxxxxxx";
$database = "xxxxxxxxxx";
$conni = new mysqli($server, $user_name, $password, $database);
if (mysqli_connect_errno()) {
printf("<center>
<strong>No connection to database possible!<br />
Please contact us!</strong>
</center>");
exit();
}
我想出了如何查看数据库上的所有表,通过这样做:
$result = mysql_query("show tables");
while($table = mysql_fetch_array($result)) {
echo($table[0] . "<BR>");
}
所以我知道我正在处理的表的名称。我找到了一种查看所有列名称的方法:
$query = "select * from my_tablename";
$result = mysql_query($query);
$numcolumn = mysql_num_fields($result);
for ( $i = 0; $i < $numcolumn; $i++ ) {
$columnnames = mysql_field_name($result, $i);
echo $columnnames . "<br>";
}
但我仍然找不到如何仅显示表格本身。我可能想错了,或者没有完整的想法,但我想要的是一种显示整个表格的简单方法,就像使用 html 表格一样。怎么才能做到这一点?
最佳答案
您可以构建<thead>
具有上面列名的表格,但是要以表格格式显示结果,请使用 mysql_fetch_row
$result
上的函数的SELECT * FROM my_tablename
。要重复使用$result
在获得最后一个 block 中的字段名称后,请使用 mysql_data_seek
:
mysql_data_seek($result, 0);
然后您可以迭代结果以获取表的内容:
while ($row = mysql_fetch_row($result)) {
echo '<tr>';
foreach ($row as $value) {
echo '<td>' . $value . '</td>';
}
echo '</tr>';
}
mysql_fetch_row
将得到一个数字索引数组,其中每个值都是 MySQL 中的列值,因此通过运行 foreach 您可以获得每列的值。将其放入 <td>
内,将其全部包装在 <tr>
中你自己就有一张 table 了!
为了更好地衡量,您应该改用 mysqli
在 PHP 中为 mysql_
函数在更高版本中已弃用。要进行切换,请使用 PHP 文档搜索 mysql_
您当前正在使用的功能,将会出现一条粉色消息,将您引导至 mysqli
等价物
关于php - 使用 php 和 mysql 查看所有表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30518494/