Salve , vi chiedo gentilmente un aiutino

Sto cercando di inserire del testo in una tabella sql tramite un form in una pagina web

i problemi sono due
il primo è che non viene inserito tutto ma solo la prima parte
(ho creato una tabella longtext , not null)

il secondo è che quando il testo contiene apostrofi la query non viene eseguita di da errore.

il codice è questo, ci dareste un'occhiata ..

Codice PHP:

<?php
@set_time_limit(10000);

        
mysql_connect($mysql_hostname,$mysql_user,$mysql_password);
        
mysql_select_db($mysql_database);


        
$query="INSERT INTO dir_pages (ric, title, ing, cat) VALUES ('{$dat}' , '{$title}', '{$ing}', '{$cat}')";
        
mysql_query($query) or die(mysql_error());




header("Location: ins.php?ok=1"); 
?>
Grazie per eventuali suggerimenti