Marco, if you are having parse errors, they are coming from a mistake elsewhere in your code. Look at the previous lines. The sample you posted does not contain syntax errors.
However, the output may not make sense, as the link would point to
showpictures.php?PID=<PID>
... and not
showpictures.php?PID=230
... or some other value, which presumably would be desired.
It is not neccessary to use printf() to merge variables into an output string. PHP performs variable substitution automatically on double-quoted strings. Therefore, this code:
$PID = 45;
print ("<a href=\"showpictures.php?PID=$PID\">Click here</a>");
... will print a link to this url:
showpictures.php?PID=45
printf() is a good way to format numeric values, but it's not necessary in this example.