When working with other people or making your code public, you should always either be consistent or adhere to accepted coding standards for that project. In my experience, programmers prefer that you be consistent above all else as it's easier to switch to accepted standards if needed.
Using only variable interpolation:
echo "<a href=\"{$db_field['ProductLink']}\"/>{$db_field['ProductName']}</a>";
Using only concatenation:
echo '<a href="' . $db_field['ProductLink'] . '"/>' . $db_field['ProductName'] . '</a>';
It really comes down to personal preference, how public your code is, the coding standards on your team, etc. I have found that if you do variable interpolation, use the {}'s notation. It seems to be more accepted and it has the advantage of better syntax highlighting and the ability to interpolate array elements.
Additionally, though unrelated to the question you are asking, make sure that $db_field['ProductName'] has been sanitized with htmlentities() either before being stored, or being output to the browser. It is crucial that you be consistent in whichever strategy you use to prevent possible exploits or mistakes if other people work on your code.
There are some really good answers to this question if you need a good overview of using interpolation vs. concatenation. Someone also touches on the security aspects I mentioned above.