php从mysql表中的数据库,关于mysql:从数据库中获取数据并使用php将其显示在表中...

很多人会认为这是一个重复的问题并且已经给出了该问题的答案。但是我有一个不同的问题,在这里我不知道列数和列名!

我在html中有一个文本输入类型,用户可以在其中直接操作数据库。 用户可以查询数据库中的任何表。 所有表具有不同的列名和列数。 而且我不能使用'describe'和'show column'sql语句,因为该列的名称未知。

这个问题的所有答案都认为程序员已经知道列名

和表中的列数。

所以问题是:

如何获取表中的列数?

如何获取表的列名以将其显示在表标题标签中?

MySQL查询可能重复以获得列名?

@ssemilla我想你不明白这个问题。 数据库中有很多表。 用户可以在运行时查询任何表,因此表名未知。 您显示的可能重复的问题假设该表的名称是已知的!

您应该指定用户也不知道表名。 无论如何,您只需要查询表名,例如 SELECT table_name FROM information_schema.tables;,并将其与stackoverflow.com/questions/8334493/中的答案结合起来

使用SHOW COLUMNS FROM your_table_name_here,当您获取结果时,行数的计数将告诉您有多少列。

返回的部分数据包含在您可用于表标题的列的名称中。

$ColsQ = $yourdb->prepare('SHOW COLUMNS FROM ' . $your_table_name_here);

$ColsQ->execute();

$ColsD = $ColsQ->fetchAll(PDO::FETCH_ASSOC);

echo 'There are ' . count($ColsD) . ' columns in the table';

foreach ($ColsD as $Column) {

echo 'Column name is ' . $Column['Field'];

}

感谢您的答复,但这仍然不能解决我的问题。 期望程序员已经知道列的名称。 在我的网站上,用户可以查询数据库中的任何表,因此在用户键入查询之前,表名是未知的。

不,不是的。 第一个查询检索列的名称。 foreach循环报告每个名称是什么。 您是否尝试过我发布的内容?

您说您的网站要求的唯一信息就是表格的名称。

您可以使用DESC TABLE_NAME。

迭代返回以了解字段的数量。

感谢您的答复,但我发现了获取表中字段数的另一种方法。 也就是说,mysqli_num_fields($ result)。 现在,我想获取的所有内容均为该列的标题

DESC" TABLE_NAME"返回一些记录,其中之一[Field]是这些列的名称。 那不能回答你的问题吗?

所以我从php文档中得到了我的问题的答案! 在这里,我将发布执行"选择" SQL语句的代码片段,该语句在运行时执行,该语句显示标头以及我从执行查询得到的结果中的表记录。

if(strcmp($words[0],"select")==0) //for making sure its select statement

{

$result= mysqli_query($conn, $sql);

if($result)

{

echo '

echo '

';

for($i=0;$i

{

$column_info=mysqli_fetch_field_direct($result, $i);

/*this function returns all the information about table metioned in the query.

variable i over here refers to field no*/

echo"

".$column_info->name.""; //here fetching only name from whole information

}

echo '

';

while ($row = mysqli_fetch_array($result))

{

echo '

';

for($i=0;$i

{

echo '

'.$row[$i].'';

}

echo '

';

}

echo '

';

}

else

{

echo"alert('Error occured, Please check your syntax or internet connection')";

}

}

有关详细信息:

mysqli_fetch_field_direct(mysqli_result $ result,int $ fieldnr)函数的PHP文档页面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值