相关疑难解决方法(0)

php pdo:获取表的列名

如何使用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)

php pdo fetch

46
推荐指数
4
解决办法
10万
查看次数

where子句中的列是不明确的 - 这是什么意思?

我在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)

php mysql join mysql-error-1052

10
推荐指数
1
解决办法
4万
查看次数

PHP MySQL内连接具有相同的列名

$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']它会写两个idjob_id具有相同的值.

php mysql inner-join

2
推荐指数
1
解决办法
4538
查看次数

MySQL:SELECT*FROM table1,table2 .... column1 AS newColumnName

我正在从两个表中选择数据.并且这两个表都有一个ID列,我需要ID在执行后返回两个列Query.有没有办法使用AS将ID列的名称(从我选择的第二个表)更改为其他内容?

我在想这样的事情:

SELECT * FROM table1, table2 WHERE table2.id AS newAlias
Run Code Online (Sandbox Code Playgroud)

我可以像这样使用WHERE语句吗?

mysql sql mysql-error-1052

1
推荐指数
1
解决办法
1万
查看次数

SQL - 我应该使用连接吗?

我有以下示例查询(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字段进行排序.我是通过加入来实现这一目标的吗?

statuscustomer桌子上的一个字段.


编辑查询:

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)

mysql sql join

1
推荐指数
1
解决办法
3733
查看次数

标签 统计

mysql ×4

php ×3

join ×2

mysql-error-1052 ×2

sql ×2

fetch ×1

inner-join ×1

pdo ×1