关于sql选择和print_r数组的问题[重复]
Posted
技术标签:
【中文标题】关于sql选择和print_r数组的问题[重复]【英文标题】:Question about sql selection and print_r array [duplicate] 【发布时间】:2019-06-22 09:01:09 【问题描述】:我有个问题,先看看我的代码:
$testsql = $db->prepare('SELECT * FROM forum_sujets');
$testsql->execute();
$test = $testsql->fetch();
print_r($test);
我的数据库:
好的,所以我想在数组中选择我的信息,我不希望这个数组看起来像:
array(
'id' => '1', array(
'nom' => 'test',
'titre' => 'test',
'auteur' => 'test',
),
'id' => '2', array(
'nom' => 'test2',
'titre' => 'test2',
'auteur' => 'test2',
),
);
好的,在我的数组看起来像这样之后,我想回显,例如,ID“2”的名称,我不知道我是否清楚。我希望你能帮助我,再见:)
【问题讨论】:
你试过foreach loop
吗?
如果您需要有关 id = 2 的信息,请在查询中使用 WHERE id = 2
。
另外,如果数组结构无效,同一层数组中不能有多个id
键。
是的,我已经在一段时间内提出了我的请求,但为了优化,我不想把它放在 while 之外,而在 while 调用必要的信息中
【参考方案1】:
举个例子,你的截图不太好,所以我想你有colums titre, nom et auteur dans votre table:
$testsql = $db->prepare('SELECT id, titre, nom, auteur FROM forum_sujets');
$testsql->execute();
$data = [];
while ($test = $testsql->fetch())
$id = $test['id'];
$data[$id] = [
'nom' => $test['nom'],
'auteur' => $test['auteur'],
'title' => $test['title'],
];
print_r($data);
输出将是这样的:
array(
1 => array(
'nom' => 'test',
'titre' => 'test',
'auteur' => 'test',
),
2 => array(
'nom' => 'test2',
'titre' => 'test2',
'auteur' => 'test2',
),
);
因为你不能在一个数组中有两个相同的键
【讨论】:
好一个。我只想指出@u_mulder 在他上面的评论中可能是正确的,BaguetteV1.0 实际上只在寻找一条记录。所以使用 WHERE 子句可能是更好的方法。但我们无法确定,除非进一步解释整个代码的工作原理以及它有什么用处。以上是关于关于sql选择和print_r数组的问题[重复]的主要内容,如果未能解决你的问题,请参考以下文章