修正一些 Notice 以及在 windows 上的相容性

DIRECTORY_SEPARATOR 不應該用在切 query 上，在 windows 上會失效
其他是一些 notice 的修正，像是保證 list 可以得到相對應數量的值，陣列 key 先用 isset 檢查等等