I swear I have poured and poured over every other similar question on this site and others... but I think I\'m just missing something. Hopefully someone can point out a sill
Per the documentation:
The ID generated for an AUTO_INCREMENT column by the previous query on success, 0 if the previous query does not generate an AUTO_INCREMENT value, or FALSE if no MySQL connection was established.
The documentation states that it can only return 0 if the query last executed does not generate an AUTO_INCREMENT value, which should mean that your PRIMARY KEY column in notes is not properly setup with auto_increment. I would recommend double-checking that the PRIMARY KEY column in notes is in-fact setup with auto_increment (never hurts to check again!).
Viewing your sample code, you do call mysql_insert_id() immediately after insertion, so there shouldn't be any conflicting queries in between to skew the result.
The only thing I see that may cause an issue is that you're passing the MySQL resource to mysql_query(), but not to mysql_insert_id():
if (!mysql_query($note_sql,$con))
...
$note_id = mysql_insert_id();
There may be a conflict in the resources due to this. Try updating your call to:
$note_id = mysql_insert_id($con);