Logic is your AND, OR, NOT sort of thing. If you mixed something up, you will have a logic error,
Syntax is the order in which you should pass parameters to a function, or simply the order in which a function is called.
function 1 should have syntax of:
name, address, phone.
Name and adress are strings and phone is an integer,
If you passed these values in the order of name, phone, address for example, you have muddled up your syntax.
Usually you will get errors saying you had a problem with what you passed rather than a syntax error, but usually syntax error is the problem.
Runtime errors occur during the actual running of a program and are usually not to do with the code rather something has simply gone wrong during running the program. Sometimes these can be caused by incomplatibilities.