【发布时间】:2018-09-24 04:53:47
【问题描述】:
我需要获取id = $id所在行中的所有列名和值。
列名应回显为title;值应回显为story
类似这样的:
function story($id) {
global $db;
$sql = "select * from users where id = :aid limit 1";
$st = $db->prepare($sql);
$st -> execute([":aid" => $id]);
$row = $st->fetch();
$sql = // select all column names;
$columns = // array - result of $sql
$story = "";
foreach ($columns as $el) {
$i = array_search($el, $columns);
$val = $row[$i];
$story .=
"<div class='title'>" . $el . "</div>\n" .
"<div class='story'>" . $val . "</div>\n";
}
echo $story;
}
【问题讨论】:
-
你为什么使用
array_search()?构建您想要使用的结果集。我建议将$db作为函数参数传递,而不是声明global。 -
@mickmackusa,因为我需要该索引才能在
row数组中获取适当的元素; -
->fetch(PDO::FETCH_ASSOC)? -
@mickmackusa,抱歉,看不懂,我应该在哪里写?
-
如果您只是这样做:
$row = $st->fetch(PDO::FETCH_ASSOC);,您将获得作为关联数组的行。不需要其他任何东西。 Here's the manual
标签: php pdo resultset associative