Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > существование записи


Автор: Bangladesh 30.5.2006, 21:16
мне в функции нужно узнать существует ли запись, в которой поле id имеет значение X. каким образом, можно это узнать для того, чтобы использовать в конструкции if...

Код


//переменная или функция, которая говорит есть запись или нет

if(!(запись существует)) // не существует
    удаляем
else
    пропускаем 
 

Автор: Mal Hack 30.5.2006, 21:21
Если mysql_query в выборке вернет 1 запись, значит она существует.
 

Автор: skyboy 30.5.2006, 21:25
I, GyoZ, запись где? На голове? В массиве? В базе? В файле? Может, на аудиокассете?
Если идёт речь о MySQL-запросе, то почему бы просто не выполнить:
Код

SELECT count(*) FROM mytable WHERE id=X

и проверить возвращённое значение?
Если речь всё же о базе, то почему бы сразу не удалить?
Код

DELETE FROM mytable WHERE id=X

Если вдруг не так понял - прошу извинить.
 

Автор: Bangladesh 30.5.2006, 21:29
привет, спасибо за ответ.


есть вот такая конструкция:

Код



              mysql_connect("localhost:3306", "myname", "mypass") or die(mysql_error());
              mysql_select_db("mybd") or die(mysql_error());
              $sql = 'SELECT * FROM `sections` WHERE `id` LIKE 56';
             
              $query = mysql_query($sql) or die(mysql_error());
              $num =  mysql_num_rows($query) or die (mysql_error());

              if($num == 1)
                  print "Да";
              else
                  print "Нет";


56 ида у меня не существует, а 1 у меня есть. когда я пишу LIKE 1 он мне выводит да, т.е. есть, а если ввожу 56, то он ничего не говорит, хотя должен говорить нет, т.е. не существует. как быть? 

Автор: Mal Hack 30.5.2006, 21:38
`id` = 56, а не LIKE 

Автор: Bangladesh 30.5.2006, 21:47
всё равно нет не пишет 

Автор: Mal Hack 30.5.2006, 21:54
Код
              $num =  mysql_num_rows($query);
              if($num == 1)
                  print "Да";
              else
                  print "Нет";

 

Автор: Bangladesh 30.5.2006, 22:09
ура! заработала. + уже поставил 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)