X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Update не обновляет
CandyDandy
CandyDandy
Topic Starter сообщение 18.12.2010, 1:36; Ответить: CandyDandy
Сообщение #1


Не обновляет в базе update. Где ошибка?

Эти строки все проверил оператором echo. Переменные есть и существуют.
[PHP]
<?php
include ("blocks/bd.php");
if (isset($_POST['title'])) {$title = $_POST['title']; if ($title == '') {unset($title);} }
if (isset($_POST['meta_d'])) {$meta_d = $_POST['meta_d']; if ($meta_d == '') {unset($meta_d);} }
if (isset($_POST['meta_k'])) {$meta_k = $_POST['meta_k']; if ($meta_k == '') {unset($meta_k);} }
if (isset($_POST['date'])) {$date = $_POST['date']; if ($date == '') {unset($date);} }
if (isset($_POST['description'])) {$description = $_POST['description']; if ($description == '') {unset($description);} }
if (isset($_POST['text'])) {$text = $_POST['text']; if ($text == '') {unset($text);} }
if (isset($_POST['author'])) {$author = $_POST['author']; if ($author == '') {unset($author);} }
if (isset($_POST['id'])) {$id = $_POST['id'];}
?>
[/PHP]

А вот здесь чую что ошибка только вот уже перепроверил по несколько раз.
[PHP]
<?php
if (isset($title) &&isset($meta_d)&&isset($meta_k) &&isset($date) &&isset($description) &&isset($text) &&isset($author))
{
/* Здесь пишем что можно заносить в базу */
$result = mysql_query ("UPDATE lessons SET title='$title',meta_d='$meta_d',meta_k='$meta_k',date='$date',description='$description',text='$text',author='$author') VALUE ('$title','$meta_d','$meta_k','$date','$description','$text','$author') WHERE id='$id'");

if ($result == 'true') {echo "<p>Ваш урок успешно обновлённ!</p>";}
else {echo "<p>Ваш урок не обновлён!</p>";}
}

else {echo "<p>Вы ввели не всю информацию, поэтому урок в базе не может быть обновлён.</p>";}
?>[/PHP]

В итоге пишет "Ваш урок не обновлён!"
Хотя если я например пытаюсь обновить поле title. И дальше пытаюсь вывести переменную $title то он мне выводит её обновленную, но в базе ничего не меняет.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 18.12.2010, 2:07; Ответить: ZhukV
Сообщение #2


Вообщем, у тя ошибка в самом SQL, и не одна. Зачем далее прописывать VALUE? Если названия поля совпадает с названием функции SQL, то при обращении к полю, бери его `field`. Зачем ты лишний раз проверяеш переменные?
[PHP]include ("blocks/bd.php");
if (isset($_POST['title'])){ $title = $_POST['title']; }
if (isset($_POST['meta_d'])){$meta_d = $_POST['meta_d'];}
if (isset($_POST['meta_k'])){$meta_k = $_POST['meta_k'];}
if (isset($_POST['date'])){$date = $_POST['date']; }
if (isset($_POST['description'])){$description = $_POST['description'];}
if (isset($_POST['text'])){$text = $_POST['text']; }
if (isset($_POST['author'])){$author = $_POST['author'];}
if (isset($_POST['id'])){$id = $_POST['id'];}

$update = array(
'title' => $title,
'meta_d' => $meta_d,
'meta_k' => $meta_k,
'date' => $date,
'description' => $description,
'text' => $text,
'author' => $author,
);

foreach($update as $key => $value){
$temp[] = "`{$key}` = '{$value}' ";
}
$sql = "UPDATE `lessons` SET " . implode(', ', $temp) . " WHERE `id` = '{$id}'";
if(mysql_query($sql)){
echo "GOOD!!!";
}else{ echo "BAD!!!"; }[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
CandyDandy
CandyDandy
Topic Starter сообщение 18.12.2010, 17:12; Ответить: CandyDandy
Сообщение #3


Хотелось бы конечно узнать где именно мой код не рабоатет. Понимаю что методов много. Но всё же я по урокам делаю и там почему то всё работает. Наверняка дальше там будут методы и попроще, лаконичнее.

Лишний раз проверяю для того чтобы знать заполнил ли человек поле или нет. Если нет она же у меня обнуляется.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
adlic
adlic
сообщение 18.12.2010, 17:28; Ответить: adlic
Сообщение #4


(CandyDandy @ 18.12.2010, 03:36) *
<?php
if (isset($title) &&isset($meta_d)&&isset($meta_k) &&isset($date) &&isset($description) &&isset($text) &&isset($author))
{
/** Здесь пишем что можно заносить в базу */*******
$result = mysql_query ("UPDATE lessons SET title='$title',meta_d='$meta_d',meta_k='$meta_k',date='$date',description='$description',text='$text',author='$author') VALUE ('$title','$meta_d','$meta_k','$date','$description','$text','$author') WHERE id='$id'");
*
if ($result == 'true') {echo "<p>Ваш урок успешно обновлённ!</p>";}
else {echo "<p>Ваш урок не обновлён!</p>";}
}

?>

Попробуй прописать в таком виде: [PHP] $sql = "UPDATE `база`.`таблица` SET
`title` = '{$title}',
`meta_d` = '{$meta_d}',
`meta_k` = '{$meta_k}',
`date` = '{$date}',
`description` = '{$description}',
`text` = '{$text}',
`author` = '{$author}'
WHERE `таблица`.`id` = '{$id}' LIMIT 1;";
$result=mysql_query($sql);
if ($result == 'true') {echo "<p>Ваш урок успешно обновлённ!</p>";}
else {echo "<p>Ваш урок не обновлён!</p>";}
}

[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 18.12.2010, 17:28; Ответить: ZhukV
Сообщение #5


(CandyDandy @ 18.12.2010, 03:36) *
$result = mysql_query ("UPDATE lessons SET title='$title',meta_d='$meta_d',meta_k='$meta_k',date='$date',description='$description',text='$text',author='$author') VALUE ('$title','$meta_d','$meta_k','$date','$description','$text','$author') WHERE id='$id'");

Не верный сам запрос. VALUES указывается тогда, когда Вы создаете новые записи.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) 25.000каталогов+rss+captcha+мой проект+update+доски объявлений=10wmz
Отдача: тИЦ 10-40, PR 2-4.
6 streams 4155 11.2.2009, 22:28
автор: streams


 



RSS Текстовая версия Сейчас: 24.4.2024, 9:45
Дизайн