作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想做一个选择语句,但它不起作用,这就是我想做的
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/
我是一名优秀的程序员,十分优秀!