$sql="SELECT function, id, email,
CONCAT(phone_country, ' ', fax_city, ' ', fax_no, ' ', fax_ext) AS fax,
CONCAT(phone_country, ' ', phone_city, ' ', phone_no, ' ', phone_ext) AS phone,
LOWER(CONCAT(name_f, '_', name_l)) AS folder,
CONCAT(name_f, ' ', name_l) AS name
FROM contacts JOIN contacts_functions
USING id
WHERE (public = 'j') AND (id = '".$id."')";Warum gibt der untere QUERY einen Syntax Fehler ? Die beiden Queries sind meiner Meinung nach identisch. :(
id ist in beiden tabellen enthalten, sonst könnte man damit ja keinen join erstellen.
in der where bedingung nimmst du auf id bezug. eigentlich sollte der ja dann aus beiden tabellen gleich sein, und somit wäre es egal aus welcher tabelle verglichen wird.
die sql interpreter sind aber formal aufgebaut. daher wird dieser sonderfall nicht erkannt, und der interpreter will wissen, welche spalte nun gemeint ist, da id nicht eindeutig ist.
also: tabelle.id schreiben.