Mysql新手:sql select问题
伙计们,美好的一天。即时通讯开始学习MySQL,仍然摆弄。我刚刚看到一个表格结构就像这个例子。我如何在SQL中使用var_dump实现在数组中查询数组?更多的权力!Mysql新手:sql select问题
Table: categories
id | name |
1 | Cat A |
2 | Cat B |
Table: sub_categories
id | category_id | name |
1 | 1 | Sub Cat A |
2 | 2 | Sub Cat B |
array
'Cat A' =>
array
1 => string 'Sub Cat A' (length=9)
'Cat B' =>
array
2 => string 'Sub Cat B' (length=9)
你必须遍历你的类别表,然后选择这个类别中的所有行并填充你的数组。
你也可以使用JOIN像在下面的例子中(离开了那里的一部分,如果你想所有类别):
$result = mysql_query("SELECT categories.name as catname
, categories.id as catid
, sub_categories.id as subcatid
, sub_categories.name as subcatname
FROM categories
LEFT JOIN sub_categories ON sub_categories.category_id = categories.id
WHERE categories.id = 1");
$rows = mysql_fetch_object($result);
$result = array();
foreach($rows as $row) {
$result[$row->catname][] = array(
'id' => $row->subcatid,
'category_id' => $row->catid,
'name' => $row->subcatname
);
}
var_dump($result);
UNTESTED但应该工作。
你好Rufinus!感谢您的及时回应。我会试试这个。 :) – 2011-04-29 01:27:14
'htmlspecialchars()'没有在他的代码中调用 - 也许它在你的代码中的其他东西? – 2011-04-29 04:09:49
它的工作原理!谢谢! – 2011-05-03 06:43:26
你在寻找一个特定的查询,或者是以数组的形式返回结果吗? – Steve 2011-04-28 11:11:14
你究竟在看什么/要求什么?将数组保存到mysql的简单方法? (所以unserialize($ array)就是这样(快而脏))或者你在寻找一个insert语句来将数组写入这两个表中?你正在使用什么存储引擎? – 2011-04-28 11:13:56