За последние 24 часа нас посетили 16947 программистов и 1778 роботов. Сейчас ищут 909 программистов ...

существует ли запись в базе?

Тема в разделе "PHP и базы данных", создана пользователем oksana, 25 апр 2012.

  1. oksana

    oksana Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    небольшой пример

    вот запрос
    $result = mysql_query ("INSERT INTO table (name, gorod, phone) VALUES ('$name', '$gorod', '$phone')");
    как перед тем как заносить данные в таблицу происходила проверка например по номеру телефона ($phone),
    если такой номер есть то echo 'данный номер уже существует':,
    если все в прорядке то echo 'запись добавлена':,
     
  2. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    че-то в этом духе:
    Код (PHP):
    1. $result=mysql_query(SELECT phone FROM table WHERE phone='{$phone}');
    2. $num=mysql_num_rows($result);
    3. if($num>0){
    4.     echo "данный номер уже существует";
    5. }else{
    6.     $result = mysql_query ("INSERT INTO table (name, gorod, phone) VALUES ('$name', '$gorod', '$phone')");
    7.     echo "запись добавлена";
    8. } 
    Перед тем, как записать в базу данных - выбираешь все записи, где этот телефон встречается. Считаешь, сколько записей выбрано. Если их больше 0 (записи с таким телефоном уже существуют) - выводишь, что данный номер уже существует, в противном случае выполняешь свой INSERT
     
  3. oksana

    oksana Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    в принципе логично =), спасибо я думала для этого существует какя нибудь супер пупер функция
     
  4. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    Для этого существует супер-пупер MySQL, теоретически в котором можно все вышеописанное сделать одним запросом... но у Попова по этому поводу ничего не сказано, поэтому не знаю как :(
     
  5. Chushkin

    Chushkin Активный пользователь

    С нами с:
    17 дек 2010
    Сообщения:
    1.062
    Симпатии:
    91
    Адрес:
    Мещёра, Центр, Болото N3
    см. FOUND_ROWS()
    А "супер-пупер", это уникальный индекс по полю ;) ( см. также ROW_COUNT() )
    Ах да, ещё есть EXISTS().
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    можно все три поля добавить в один уникальный индекс, и при вставке будет вылетать ошибка, если такое сочетание уже есть.