Изменение:
if($link!=''){
if ( !preg_match( '|^(ht|f)tp(s?))://|', $url ){
echo "wrong";
mysql_close($db);
}
}
на
if($url !=''){
if ( !preg_match( '|^(ht|f)tp(s?))://|', $url ){
echo "wrong";
mysql_close($db);
}
}
, чтобы мы могли помочь вам лучше показать ваше заявление в $ sql;
ОБНОВЛЕНИЕ:
Очень трудно понять, как проблема, вот что вы можете сделать, чтобы увидеть, в чем проблема:
$ result = mysql_query ($ sql) или die ('Error:' mysql_error ());
Таким образом, вы можете увидеть, что является ошибкой в вашем запросе, я уверен, что это проблема с выходом, поэтому вот что вы можете добавить;
$title = htmlspecialchars(trim($_POST['title']));
$content = htmlspecialchars(trim($_POST['content']));
$url = htmlspecialchars(trim($_POST['url']));
$image = htmlspecialchars(trim($_POST['image']));
$title = mysql_real_escape_string($title);
$content = mysql_real_escape_string($content);
$url = mysql_real_escape_string($url);
$image = mysql_real_escape_string($image);
таким образом, если естьлюбые специальные символы, которые они будут экранированы