Сайт расположен на хосте http://www.nic.ru/ Код Код (Text): <? $result = mysql_query ("INSERT INTO news (title, date, meta_d, meta_k, description, description_main, text) VALUES ('$title', '$date', '$meta_d', '$meta_k', '$description', '$description_main', '$text')"); if($result) {echo "<p>Новость добавлено!</p>";} ?> работает как надо. Данные заносим методом пост. а вот упдейт почему то не работает! Код (Text): <? $result=mysql_query("UPDATE news SET title='$title', date='$date', meta_d='$meta_d', meta_k='$meta_k', description='$description', description_main='$description_main', text='$text' WHERE id='$id'",$db); if($result) echo "<p>Новость обновлено.</p>"; ?> данные в базе просто удаляются и мы имеем пустое поле!!! Почему??? Что не так? Так как на лок. сервере все работает и на других хостах! Я в ТУПИКЕ!
сделай print("UPDATE news SET title='$title', date='$date', meta_d='$meta_d', meta_k='$meta_k', description='$description', description_main='$description_main', text='$text' WHERE id='$id'"); глянь все ли там будет так, как ожидаешь. если да - то вручную в phpmyadmin вбей запрос. если выполнится - тогда можно дальше думать.
UPDATE news SET title='32', date='', meta_d='325', meta_k='235', description=' 235 ', description_main=' 235 ', text=' 235 ' WHERE id='6' вручную работает, также кажет, що упдейт - тру.
гыгыгы ) 1. попробуй $result=mysql_query(тут запрос) or die(mysql_error()); 2. попробуй заключать названия полей в апострофы ` 3. перед mysql_query выведи текст запроса как проверяешь?
создал простую форму Код (Text): <form action="up.php?id=1" method="POST"> <input name="test" type="text"> <input type="submit"> </form> =========up.php======================================== <? include("admin/blocks/db.php"); mysql_query("UPDATE settings SET title='$_POST[test]' WHERE id='$_GET[id]'"); ?> тоже не работает, НО если вводит - "rrrrrrr" - обновляет, если другие символы, то НЕТ... жесть, что делать не знаю... менять ХОСТ?))))
Код (Text): <? session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Админ: Обработка</title> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body> <? include("blocks/left.php");?> <? include("blocks/db.php"); if(isset ($_POST['title'])) {$title=$_POST['title']; if ($title=='') {unset($title);}} if(isset ($_POST['meta_d'])) {echo $meta_d=$_POST['meta_d']; if ($meta_d=='') {unset($meta_d);}} if(isset ($_POST['meta_k'])) {echo $meta_k=$_POST['meta_k']; if ($meta_k=='') {unset($met_k);}} if(isset ($_POST['text'])) {$text=$_POST['text']; if ($text=='') {unset($text);}} $title=mysql_real_escape_string($title); mysql_query("UPDATE settings SET `title`='$title' WHERE id='$_GET[id]'") or die(mysql_error()); echo "<p>Текст страницы обновлено.</p>"; include("blocks/main.php");?> </body> </html> ничего!
ты действительно айди передаёшь через GET ? я бы написал так: PHP: <?php mysql_query("UPDATE settings SET `title`='$title' WHERE id='{$_GET['id']}'") or die(mysql_error()); ?> и для айди я бы тоже применял mysql_real_escape_string