peace_love
peace_love

Reputation: 6471

How can I put two values from mysql table into one variable?

This is how my query looks like:

$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"];
}

I am wondering if there is a way to put two values into one variable. I imagine something like this:

$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"];
}

Upvotes: 0

Views: 39

Answers (2)

Stuart
Stuart

Reputation: 6795

You can use MySQL's 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"];
}

Upvotes: 1

mikeb
mikeb

Reputation: 11267

If you're using mysql, you can concat to concatenate:

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

Upvotes: 1

Related Questions