关于PHP&;MySQL
这是有线的,只有字段名是正确的,但其他的。我无法从代码中获得预期的结果。 如何从数据库中获取正确的元数据?关于PHP&;MySQL,php,mysqli,Php,Mysqli,这是有线的,只有字段名是正确的,但其他的。我无法从代码中获得预期的结果。 如何从数据库中获取正确的元数据? 根据查询,预期结果是表结构的详细信息,因此可以使用mysql描述表查询,该查询将提供表的结构 <?php $con = mysqli_connect(HOST,USER,PASSWORD,DATABASE NAME); $data = mysqli_query($con,"DESCRIBE tablename"); ?> <table>
根据查询,预期结果是表结构的详细信息,因此可以使用mysql描述表查询,该查询将提供表的结构
<?php
$con = mysqli_connect(HOST,USER,PASSWORD,DATABASE NAME);
$data = mysqli_query($con,"DESCRIBE tablename");
?>
<table>
<tr>
<td>Field</td>
<td>Type</td>
<td>Null</td>
<td>Key</td>
<td>Default</td>
<td>Extra</td>
</tr>
<?php while($row=mysqli_fetch_array($data,MYSQLI_ASSOC)){ ?>
<tr>
<td><?php echo $row['Field']; ?></td>
<td><?php echo $row['Type']; ?></td>
<td><?php echo $row['Null']; ?></td>
<td><?php echo $row['Key']; ?></td>
<td><?php echo $row['Default']; ?></td>
<td><?php echo $row['Extra']; ?></td>
</tr>
<?php } ?>
</table>
领域
类型
无效的
钥匙
违约
额外的
根据查询,预期结果是表结构的详细信息,因此可以使用mysql描述表查询,该查询将提供表的结构。您可以尝试以下代码。我认为它将对您有所帮助
<?php
$con = mysqli_connect(HOST,USER,PASSWORD,DATABASE NAME);
$data = mysqli_query($con,"DESCRIBE tablename");
?>
<table>
<tr>
<td>Field</td>
<td>Type</td>
<td>Null</td>
<td>Key</td>
<td>Default</td>
<td>Extra</td>
</tr>
<?php while($row=mysqli_fetch_array($data,MYSQLI_ASSOC)){ ?>
<tr>
<td><?php echo $row['Field']; ?></td>
<td><?php echo $row['Type']; ?></td>
<td><?php echo $row['Null']; ?></td>
<td><?php echo $row['Key']; ?></td>
<td><?php echo $row['Default']; ?></td>
<td><?php echo $row['Extra']; ?></td>
</tr>
<?php } ?>
</table>
<?php
error_reporting(0);
$conn = mysqli_connect('localhost', 'root', '');
if (!$conn) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('winestore');
$result = mysql_query('SELECT * FROM wine LIMIT 0,1');
if (!$result) {
die('Query failed: ' . mysql_error());
}
?>
<table>
<th>Field</th>
<th>Type</th>
<th>Null</th>
<th>Key</th>
<th>Extra</th>
<?php
/* get column metadata */
$i = 0;
while ($i < mysql_num_fields($result)) {
$meta = mysql_fetch_field($result, $i);
if (!$meta) {
echo "No information available<br />\n";
}
$i++;
?>
<tr>
<td><?php echo $meta->name;?></td>
<td><?php echo $meta->type."(".$meta->max_length.")";?></td>
<td><?php if($meta->not_null==1){echo 'NO';}else{echo 'YES';}?></td>
<td><?php if($meta->multiple_key==1){ echo 'MUL';}if($meta->primary_key==1){echo 'PRI';}?></td>
<td><?php echo $meta->not_null;?></td>
</tr>
<?php
}
mysql_free_result($result);
?>
领域
类型
无效的
钥匙
额外的
如果您对此问题还有任何疑问,请访问此链接
str\u pad
?为什么不在每次迭代中进行一次tablecheck$info
并查看每个查询发生的情况?预期结果是表结构的详细信息,因此可以使用mysql描述表查询,它将提供表的结构。请编辑您的答案并将此信息添加到答案中。人们可能不会阅读评论。:)Mysql_*API已被删除。改用PDO