Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: проблема с UPDATE
 
 автор: raimund   (09.07.2009 в 23:03)   письмо автору
 
 

<?php 
        
if (isset($title) && isset($dato) && isset($discription) && isset($text) && isset($Author))
        {
        
        
$result mysql_query("UPDATE pamokos SET title='$title', dato='$dato', discription='$discription', text='$text', Author='$Author' WHERE id='$id'");
        
        if (
$result == 'true'
        {echo 
"<p>Данные обновлены</p>";}
        else {echo 
"Ошибка";}
        }
        
        else
        {
        echo 
"Не все данныё введены";
        }


проблема с UPDATE

как бы проблема в том что выводит "Данные обновлены" но в ДБ изменений не происходит

  Ответить  
 
 автор: Trianon   (09.07.2009 в 23:17)   письмо автору
 
   для: raimund   (09.07.2009 в 23:03)
 

а что такое 'true' ?

Спрашивать что такое dato , discription ДБ, и данныё я как-то даже пугаюсь...

  Ответить  
 
 автор: GeorgeIV   (09.07.2009 в 23:18)   письмо автору
 
   для: raimund   (09.07.2009 в 23:03)
 

Значение не равное FALSE говорит о том, что запрос был выполнен успешно. Он не
 говорит о количестве затронутых или возвращённых рядов. Вполне возможна ситуация, когда успешный запрос не затронет ни одного ряда. 

Цитата из описания mysql_query.
И еще, Вы проверяете все данные, а $id это заведомо то, что Вам нужно?

  Ответить  
 
 автор: raimund   (09.07.2009 в 23:52)   письмо автору
 
   для: GeorgeIV   (09.07.2009 в 23:18)
 

мне нужно заменить данные,
а $id указывает где они должны быть заменены

  Ответить  
 
 автор: ride   (11.07.2009 в 12:30)   письмо автору
 
   для: raimund   (09.07.2009 в 23:03)
 

я сильно сомневаюсь, что у вас когда-либо отобразиться фраза "<p>Данные обновлены</p>";
если проверяете, то тогда true должна быть без ковычек.
и проверьте переменную $id.

  Ответить  
 
 автор: raimund   (11.07.2009 в 15:30)   письмо автору
 
   для: ride   (11.07.2009 в 12:30)
 

все нормально, просто не хватало строки в начале

if (isset($_GET['id'])) {$id = $_GET['id'];}

  Ответить  
 
 автор: GeorgeIV   (11.07.2009 в 15:59)   письмо автору
 
   для: raimund   (11.07.2009 в 15:30)
 

но на 'true' обратите внимание, Вам просто повезло, ибо 'true' приведется к true, а вот 'false' будет тоже true.

  Ответить  
 
 автор: ride   (11.07.2009 в 17:13)   письмо автору
 
   для: GeorgeIV   (11.07.2009 в 15:59)
 

только что проверил у себя - не привелось.

  Ответить  
 
 автор: GeorgeIV   (11.07.2009 в 18:24)   письмо автору
 
   для: ride   (11.07.2009 в 17:13)
 

$uslovie="false";
if ($uslovie) echo "true";
else echo "false";
echo "<br>";
var_dump((bool) $uslovie);


Оба варианта выводят true. Непонятно, почему у Вас не привелось

  Ответить  
 
 автор: ride   (12.07.2009 в 00:17)   письмо автору
 
   для: GeorgeIV   (11.07.2009 в 18:24)
 

в приведенных Вами примерах приведение будет.
по поводу запроса: я не учел то, что запрос UPDATE: в этом случае приведение действительно будет, но при SELECT такое не прокатит.

  Ответить  
 
 автор: Trianon   (11.07.2009 в 23:41)   письмо автору
 
   для: GeorgeIV   (11.07.2009 в 15:59)
 

А где в строке if ($result == 'true') указано приведение к bool ?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования