Le virgolette singole non sono in alcun modo vietate. Suppongo semplicemente che tu abbia ricevuto un errore durante l'inserimento nel database. Ciò è probabilmente dovuto all'omissione di mysql_real_escape_string()
sui valori di input.
Riceverai un errore SQL se provi INSERT ... ('O'Reilly')
che è il punto centrale delle funzioni di escape SQL.