Il problema è che l'apice ti spezza la stringa, guarda la colorazione del codice:
Codice PHP:
$url = 'http://www.tuosito.it/link/vai/all'indirizzo/home';
Noti niente di strano?
Questo accade in PHP e si risolve aprendo e chiudendo la stringa con i doppi apici, oppure mettendo un escape, ovvero \, prima dell'apice.
In MySQL succede la stessa cosa, solo che le stringhe gli arrivano sempre aperte e chiuse con l'apice singolo, quindi bisogna usare l'escape.
Per fortuna c'è una funzione che lo fa per te, quindi prima di usare stringhe che potenzialmente potrebbero darti problemi nelle query, filtrale così:
Codice PHP:
$url = mysql_real_escape_string($indirizzo);
$query = "INSERT INTO tabella (indirizzo) VALUES ($url)";
e gli apici o altri caratteri non ti daranno noie.