如何使用PDO从表中获取所有列名?
id name age
1 Alan 35
2 Alex 52
3 Amy 15
Run Code Online (Sandbox Code Playgroud)
我想要的信息是,
id name age
Run Code Online (Sandbox Code Playgroud)
编辑:
这是我的尝试,
$db = $connection->get_connection();
$select = $db->query('SELECT * FROM contacts');
$total_column = $select->columnCount();
var_dump($total_column);
for ($counter = 0; $counter < $total_column; $counter ++) {
$meta = $select->getColumnMeta($counter);
$column[] = $meta['name'];
}
print_r($column);
Run Code Online (Sandbox Code Playgroud)
然后我明白了,
Array
(
[0] => id
[1] => name
[2] => age
...
)
Run Code Online (Sandbox Code Playgroud) 我在MySQL中遇到了连接子句中的这个错误,但我对这个JOIN参数还不太了解,我不确定这意味着什么.有人可以帮忙吗?
where子句中的列'id'是不明确的
SELECT * FROM (`venues`)
JOIN `venues_meta` ON `venues_meta`.`venue_id` = `venues`.`id`
WHERE `id` = '12'
Run Code Online (Sandbox Code Playgroud) $q = $db->query("SELECT *
FROM people p
INNER JOIN job j
ON p.job_id = j.id
WHERE p.id = '$id'
ORDER BY j.id ASC");
$maps = array();
while($row = mysqli_fetch_array($q)) {
$product = array(
'id' => $row['id'],
'job_id' => $row['j.id']
)
}
Run Code Online (Sandbox Code Playgroud)
表人
id
表工作
id
在上面的代码中,我正在两个表之间进行内部连接.这两个表都有一个列叫做id有没有办法区分我的两个while loop?
我已经尝试了上述但$row['j.id']不起作用,如果我这样做,$row['id']它会写两个id并job_id具有相同的值.
我正在从两个表中选择数据.并且这两个表都有一个ID列,我需要ID在执行后返回两个列Query.有没有办法使用AS将ID列的名称(从我选择的第二个表)更改为其他内容?
我在想这样的事情:
SELECT * FROM table1, table2 WHERE table2.id AS newAlias
Run Code Online (Sandbox Code Playgroud)
我可以像这样使用WHERE语句吗?
我有以下示例查询(MySQL):
SELECT * FROM `action`
WHERE `customer_id` IN
(SELECT `id` FROM `customer` WHERE `status`=1)
ORDER BY
action.date ASC
LIMIT 0, 10
Run Code Online (Sandbox Code Playgroud)
我需要能够通过customer.status字段进行排序.我是通过加入来实现这一目标的吗?
status是customer桌子上的一个字段.
编辑查询:
SELECT * FROM `action`
ORDER BY
action.date ASC
LIMIT 0, 10
Run Code Online (Sandbox Code Playgroud)
重要!
我正在通过PHP解析返回数据.运行修改后的查询后:
SELECT * FROM `action` a INNER JOIN `customer` c ON a.customer_id = c.id ORDER BY a.form_id ASC LIMIT 0, 10
Run Code Online (Sandbox Code Playgroud)
我的PHP代码中断...
这篇文章帮助了我.
我修改后的查询如下所示:
SELECT
*, a.id AS lead_id, c.id AS customer_id
FROM
`action` a
INNER JOIN
`customer` c ON …Run Code Online (Sandbox Code Playgroud)