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

Форум MySQL

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

 

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

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

тема: UPDATE с AND
 
 автор: BlueWolf   (06.09.2010 в 14:12)   письмо автору
 
 

Почему то всегда выводится сообщение : Успешная активация.
Если даже статус уже не 0
WHERE uniq_id='".$uniq_id."' AND status='0'

А должно если статус равен не 0 вывестись то что в else

$r=@mysql_query("UPDATE users SET status=1 WHERE uniq_id='".$uniq_id."' AND status='0'");
     if($r) {
$textudachnoreg = "Успешная активация";
$textudachno = "Ваша учетная запись активирована.<br/>
Теперь вы можете войти на сайт используя данные указанные при регистрации";
include_once "add/udachnoreg.php";     
               }

     else {echo 'Активация невозможна: профиль уже активирован или Код неверный';}

  Ответить  
 
 автор: ghesh   (06.09.2010 в 15:19)
 
   для: BlueWolf   (06.09.2010 в 14:12)
 

задай себе вопрос : "что возвращает mysql_query?".

  Ответить  
 
 автор: BlueWolf   (06.09.2010 в 20:33)   письмо автору
 
   для: ghesh   (06.09.2010 в 15:19)
 

true?

  Ответить  
 
 автор: BlueWolf   (07.09.2010 в 00:03)   письмо автору
 
   для: BlueWolf   (06.09.2010 в 14:12)
 

Вот так сделал.


$r=@mysql_query("UPDATE users SET status=1 WHERE uniq_id='".$uniq_id."' AND status='0'"); 
$r = mysql_affected_rows();
     if($r != '0') { 
$textudachnoreg = "Успешная активация"; 
$textudachno = "Ваша учетная запись активирована.<br/> 
Теперь вы можете войти на сайт используя данные указанные при регистрации"; 
include_once "add/udachnoreg.php";      
               } 

     else {echo 'Активация невозможна: профиль уже активирован или Код неверный';}

Правильно всё?

  Ответить  
 
 автор: ghesh   (07.09.2010 в 13:45)
 
   для: BlueWolf   (07.09.2010 в 00:03)
 

с mysql_affected_rows(); - да, это то, что тебе надо.
а ноль в ковычки-то зачем брать?
и еще, почему ты в запросе
UPDATE users SET status=1 WHERE uniq_id='".$uniq_id."' AND status='0'
status=1 - без ковычек, а status='0' (да и с uniq_id такая же хрень) в ковычках?

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

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