Php 列名和值get PDO
我尝试获取表中列的值。首先我要去拿桌子。然后我喜欢:Php 列名和值get PDO,php,pdo,foreach,Php,Pdo,Foreach,我尝试获取表中列的值。首先我要去拿桌子。然后我喜欢: $sql = $dbh->query("DESCRIBE `players` ;"); foreach ($sql->fetchAll(PDO::FETCH_NUM) as $k) { echo 'Table:' . $k[0]. '<input type="text" values=""><br> ' ; } $sql=$dbh->query(“描述`players`;”); foreach
$sql = $dbh->query("DESCRIBE `players` ;");
foreach ($sql->fetchAll(PDO::FETCH_NUM) as $k) {
echo 'Table:' . $k[0]. '<input type="text" values=""><br> ' ;
}
$sql=$dbh->query(“描述`players`;”);
foreach($sql->fetchAll(PDO::FETCH_NUM)作为$k){
回显“表:”.$k[0]。
;
}
那么,现在在同一个foreach中为每个表获取值的最佳方法是什么呢
解决方案我是如何做到的:
function getColumnValue($column,$name) {
global $dbh;
$sqll = ("SELECT `$column` FROM `players` WHERE `name`='$name' ");
$sthh = $dbh->prepare($sqll);
$sthh->execute();
return $sthh->fetch(PDO::FETCH_ASSOC);
}
foreach ($sql->fetchAll(PDO::FETCH_NUM) as $k) {
$test = getColumnValue($k[0],'Test');
echo 'Table: '.$k[0] .' <input type="text" value="'.$test[$k[0]].'" style="color:#000;"> <br> ';
}
函数getColumnValue($column,$name){
全球$胸径;
$sqll=(“从`players`中选择`column`,其中`name`='$name'”);
$sthh=$dbh->prepare($sqll);
$sthh->execute();
返回$sthh->fetch(PDO::fetch_ASSOC);
}
foreach($sql->fetchAll(PDO::FETCH_NUM)作为$k){
$test=getColumnValue($k[0],'test');
回显“表:”.$k[0]。; }
您有两种选择:
- 获取表描述(“描述表tablename”)
- 迭代结果中的列
- 输出单个列名
- 获取表的内容(“从tablename中选择*…”)
- 迭代结果中的行
- 迭代每行中的列
- 输出当前行和列的单元格内容
一般来说,获取列名以输出列名是否真的是一个好主意是值得怀疑的。对此我会三思:将存储体系结构和可视化结合到一个单一的层中,这是一个坏主意:当您以后不得不进行更改时,您将遇到大问题。通常,这些不同的方面应该分开,这是有充分理由的 不能在同一个foreach循环中执行该操作,因为必须执行和计算完全不同的查询,因此必须迭代不同的结果集。在同一个循环中没有(理智的)方法可以做到这一点。那么,我如何才能以最好的方式做到这一点呢?我想获取列名和它的值。你这样做的效率非常低。如果它能工作,它怎么会效率低下呢?那就发布一个更好的解决方案吧。谢谢你的书面回答。我将更新我的帖子,实际上我刚刚意识到我忘了提到选项2的两个子查询的列。必须有相同的类型。在尝试检索非alpha列时,这可能会出现问题,在这种情况下,您无法将列名检索为sting。