[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: UPDATE php скриптом
admrp
Здравствуйте!
Не могу понять почему обновлённая информация не попадает в БД.
вот код:
    if(!empty($_POST['edit_t']) && isset($_POST['etnos']))
{
$etnos = $_POST['etnos'];
$_SESSION['etnos'] = $etnos;
$tmp = mysqlQuery('SELECT * FROM `'. $etnos .'`');
while($edit_row = htmlChars(mysql_fetch_assoc($tmp)))
{
$id = key($edit_row);
$_SESSION['id'] = escapeString($id);
$con = $edit_row[$id];
$_SESSION['con'] = escapeString($con);
}
}

if(!empty($_POST['edit']))
{
$edited = escapeString($edited);
mysqlQuery("UPDATE `".$_SESSION['etnos']."`
SET `"
.$_SESSION['id']."` = '".$edited."'
WHERE `"
.$_SESSION['id']."` = '".$_SESSION['con']."'");
}

Ошибок не возникает никаких, если подставить вместо переменных значения вручную, то обновляется.



Спустя 2 минуты, 22 секунды (26.01.2011 - 11:36) Snus написал(а):
admrp
Значит, не выполнены условия.

if(!empty($_POST['edit_t']) && isset($_POST['etnos']))

if(!empty($_POST['edit']))


Проверяй, у тебя передаются значения в $_POST['edit_t'], $_POST['etnos'] и $_POST['edit'] или нет.

Спустя 10 минут, 27 секунд (26.01.2011 - 11:46) admrp написал(а):
да, передаются. выводил
echo
при выполнении условий.

Спустя 22 минуты, 4 секунды (26.01.2011 - 12:08) linker написал(а):
$edited откуда берется?

Спустя 50 минут, 49 секунд (26.01.2011 - 12:59) admrp написал(а):
$edited отсюда:
<p><form action="" method="post" style="text-align:center;background:gold">
<H3
style="color:red"><?php echo $etnos ?></H3>
<p><?php
echo $id ?></p>
<p><textarea
name="edited" cols="110" rows="20"><?php echo $con ?></textarea></p>
<input
name="edit" type="submit" value="РЕДАКТИРОВАТЬ" style="text-align:center">
</form></p>


в файле переменных
$edited = isset($_POST['edited']) ? $_POST['edited'] : null;


если его выводить после выполнения условия
if(!empty($_POST['edit']))

, то отображается отредактированный текст.

В первом посте написал, что если вручную добавлять, то добавляется, прошу прощения - это не так.

Спустя 32 минуты, 41 секунда (26.01.2011 - 13:32) linker написал(а):
Напиши
die("UPDATE `".$_SESSION['etnos']."` SET `".$_SESSION['id']."` = '".$edited."' WHERE `".$_SESSION['id']."` = '".$_SESSION['con']."'");
и посмотри такой ли у тебя получается SQL-запрос который задумал или нет.

Спустя 11 минут, 28 секунд (26.01.2011 - 13:43) admrp написал(а):
Да, получается правильно - вместо переменных подставлены необходимые значения.

Спустя 21 час, 14 минут, 23 секунды (27.01.2011 - 10:57) admrp написал(а):
Решил проблему тем, что убрал условие WHERE.
Смотрел в phpmyadmin`е и при обновлении информации данное условие присутствует.

Спустя 8 минут, 47 секунд (27.01.2011 - 11:06) linker написал(а):
admrp
Ну так надо было сюда этот запрос выложить, мы бы посмотрели и указали на ошибки.

Спустя 14 минут, 21 секунда (27.01.2011 - 11:21) admrp написал(а):
Лучше поздно чем никогда smile.gif , вот этот запрос с WHERE


UPDATE `news_ru` SET `news_ru` = '
На монгольском языке

\r\n
На русском языке

\r\n
О сайте

asd' WHERE `news_ru` = '<p style="text-align:center"><a href="http://www.tsahimurtuu.mn/" target="_blank">На монгольском языке</a></p>\r\n<p style="text-align:center"><a href="http://bumbinorn.ru/category/hamagmongol/" target="_blank">На русском языке</a></p>\r\n<p style="text-align:center"><a href="http://khamagmongol.com/chuulgan/viewtopic.php?f=2&t=554" target="_blank">О сайте</a></p>'

В таблице присутствует только одна колонка news_ru и одно её значение.

Спустя 4 минуты, 30 секунд (27.01.2011 - 11:25) Snus написал(а):
admrp
Да ну нафик smile.gif А по ключам нельзя было то же самое сделать? smile.gif

Спустя 21 минута, 20 секунд (27.01.2011 - 11:46) admrp написал(а):
Можно конечно), но сделал вот так в пробном варианте. Так что получается where здесь не уместна, но всё же не понимаю почему в админке "мускула" запрос выполняется с ним? huh.gif

Спустя 36 минут, 18 секунд (27.01.2011 - 12:23) Snus написал(а):
admrp
Быстрее всего потому, что у тебя не прописано никаких ключей. При одной записи - это не страшно,а вот если у тебя будет более 10 000 ... то тут вешайся smile.gif

Спустя 21 минута, 38 секунд (27.01.2011 - 12:44) admrp написал(а):
Блгодарю за помощь ! smile.gif


_____________
"...истина где-то рядом..."
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.