Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

PHP PHP & Databases with PDO Getting Started With PDO Managing Errors

Keith Clark
Keith Clark
4,074 Points

Just curious about object operator in a string

In the original try catch, I wanted to put the following line in the catch response:

echo "Sorry, connection failed. $e->getMessage()";

But that does not work, however,

$errString = $e->getMessage(); echo "Sorry, connection failed. $errString";

does.

Does anyone know why you cant use the object operator in a string like you can a variable?

Just curious, Keith

2 Answers

Hi Keith,

Great question. From PHP: Strings

Functions, method calls, static class variables, and class constants inside {$} work since PHP 5.

To get your example to work, wrap the function call inside curly braces. Tested on my end and this works.

<?php

echo "Sorry, connection failed. {$e->getMessage()}";

?>

Great information!

Rifqi Fahmi
Rifqi Fahmi
23,164 Points

can we also type:

<?php

echo "Sorry, connection failed" . $e->getMessage();

?>

??????