Why do I need to quote the variables? Is there a side effect that I'm missing (like the data not actually passing complete)?
Because this string is doing the job...
//build the update query
$sql = "UPDATE songs SET title='$title', copyright='$copyright', credit='$credit', lyricfiletxt='$lyricfiletxt', lyricfileimg='$lyricfileimg', wmafile='$wmafile', rmfile='$rmfile', mp3file='$mp3file', user1='$user1' WHERE songid = '$sid' ";