【问题标题】:How can I put two values from mysql table into one variable?如何将mysql表中的两个值放入一个变量中?
【发布时间】:2018-07-22 15:13:24
【问题描述】:

这是我的查询的样子:

$pdo = $db->prepare('SELECT *,
s.name as name,
s.firstname as firstname,
FROM projects pj
LEFT JOIN school s ON pj.teacher=s.id 
WHERE project_id = :project_id ');  
$pdo->execute(array('project_id' => $project_id));
while ($row = $pdo->fetch(PDO::FETCH_ASSOC)) {
    echo $row["firstname"].' '.$row["name"];
}

我想知道是否有办法将两个值放入一个变量中。我想像这样:

$pdo = $db->prepare('SELECT *,
s.firstname.''.name as teacher,
FROM projects pj
LEFT JOIN school s ON pj.teacher=s.id 
WHERE project_id = :project_id ');  
$pdo->execute(array('project_id' => $project_id));
while ($row = $pdo->fetch(PDO::FETCH_ASSOC)) {
    echo $row["teacher"];
}

【问题讨论】:

  • 你可以使用 concat..

标签: mysql select pdo


【解决方案1】:

如果你使用的是mysql,你可以concat来拼接:

SELECT *,
CONCAT(s.firstname, s.name) as teacher,
FROM projects pj
LEFT JOIN school s ON pj.teacher=s.id 
WHERE project_id = :project_id 

http://www.mysqltutorial.org/sql-concat-in-mysql.aspx

【讨论】:

  • 这将输出 firstnamename 作为你忘记包含空格的教师列。
  • 如果你看原来的问题,没有空格,所以我在做同样的事情s.firstname.''.name as teacher
【解决方案2】:

你可以使用 MySQL 的 CONCAT:

$pdo = $db->prepare('SELECT *,
CONCAT(s.firstname, ' ', s.name) AS teacher
FROM projects pj
LEFT JOIN school s ON pj.teacher=s.id 
WHERE project_id = :project_id ');  

$pdo->execute(array('project_id' => $project_id));
while ($row = $pdo->fetch(PDO::FETCH_ASSOC)) {
    echo $row["teacher"];
}

【讨论】:

    猜你喜欢
    • 2011-06-28
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-06
    相关资源
    最近更新 更多