il carattere ' per l'sql (sia con mysql , che con atri RDBMS) è un carattere riservato come inizio e fine di una stringa. Se esso è a sua volta contenuto nella stringa sql da errore.
Per evitare ciò e considerarlo solo come carattere devi raddoppiarlo facendo un replace da php di ' con '' nella stringa. LA \ NON credo dia problemi viceversa alla query. Forse più sul php in caso prova a raddoppiare anche quella.