gpt4 book ai didi

php - 从 * 表名中选择 *

转载 作者:行者123 更新时间:2023-11-29 22:26:56 24 4
gpt4 key购买 nike

我想做一个选择语句,但它不起作用,这就是我想做的

SELECT * 
from table
WHERE FROM any ROW Pick that $value_id
and indentify the column and display the column_name into a variable

这是我尝试的代码:

$id = $_GET['id'];
$sql = mysql_query("SELECT * from table2 WHERE ANYROW_VALUE=$id");
$selected = mysql_fetch_assoc($sql);
$ROW_NAME=mysql_field_name($selected);

此外,id 会出现在不同的列中,因此我想使用 do{ 或 WHILE 显示所有列...但首先我想知道如何才能走到这一步,谢谢!

有一点不要混淆,$id 不是表 id 只是一个从 1-8000 的编号值,而且该数字可以位于同一行但不能位于同一列,所以当我制作表格时将每一列设置为唯一的一件事,随着开发,列变得越来越大,所以它可能是 1-50 列,这就是为什么我问这个问题,如果列大小没有改变也没关系,但它确实如此......谢谢!

谢谢大家来到这里,这就是表格的草图: http://i.imgur.com/rQPBZrv.png

最佳答案

如果您要向数据库添加越来越多的列,您确实应该重新考虑数据库设计。

要解决这个问题,您需要运行两个与 php 混合的查询

您的第一个查询

mysql_query("SELECT `COLUMN_NAME` 
FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_SCHEMA`='yourdatabasename'
AND `TABLE_NAME`='yourtablename'");

然后,您将循环遍历列名称,为第二个查询构建 WHERE 我建议将列名称插入到 array 中,以便您可以使用 像这样内爆

foreach($result as $columnName){
$columnArray[] = '`' . $columnName . '` = ' . $id;
}

然后您将运行查询

mysql_query("SELECT * FROM `yourtablename` WHERE " . implode(' OR ', $columnArray));

关于php - 从 * 表名中选择 *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30198373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com