Делимся секретами создания сайтов

как проверить есть ли в базе данных значение с одинаковыми значениям в полях

к примеру я хочу добавить пользователя в друзья ну он уже в друзьях
friends_users - первое поле
friends_login - 2 поле

, ,

Ответы: 15 → “как проверить есть ли в базе данных значение с одинаковыми значениям в полях”

  1. Дмитрий Пушкин Ответить

    $r = mysql_query("SELECT * FROM friends WHERE friends_users = '$user' and friends_lodin = '$view_login'")
    узнать есть ли такое значение если да то пользователь уже в друзьях

  2. Дмитрий Пушкин Ответить

    $r = mysql_query("SELECT count(friends_users) as num FROM friends WHERE friends_users = '$user' and friends_lodin = '$view_login'") ;
    $m1 = mysql_fetch_array($r1);
    $fr = $m1["num"];
    if ( $fr != 0)
    {
    else "Пользователь $view_login уже в друзьях";
    }
    elce
    {
    $r = mysql_query("INSERT INTO friends (friends_users,friends_lodin,friends_date) VALUES ('$user','$view_login','$friends_data')");
    else "Пользователь $view_loginдобавлен в друзьях";
    }

  3. Дмитрий Пушкин Ответить

    я вот так сделал уже кто ещё как предложит и как лучше,
    пойду попробую

  4. Дмитрий Пушкин Ответить

    Все работает всем спасибо!
    Кто ещё чего предложит или удалить тему?

  5. Андрей Вольберг Ответить

    Феерическая тема, я скриншот сделал. Никому не дам!!! :) ))

  6. Сальманов Булат Ответить

    А…Так ты контакт взломал, и теперь пытаешься всем в друзья добавиться?))
    $r = mysql_query("SELECT *FROM friends WHERE friends_users = '$user' and friends_lodin = '$view_login'") ;
    if (mysql_num_rows($r)){
    else "Пользователь $view_login уже в друзьях";
    }
    else{
    $r = mysql_query("INSERT INTO friends (friends_users,friends_lodin,friends_date) VALUES ('$user','$view_login','$friends_data')");
    else "Пользователь $view_login добавлен в друзьях";
    }

    Хотя честно я хз про код, лень мне в читываться, но принцип про mysql_num_rows я думаю понял?

  7. Андрей Вольберг Ответить

    Зачем выбирать все записи с данными SELECT * FROM и получать их от мускуля? Когда count подсчитать можно? А если мне надо подсчитать количество статей в категории – тоже SELECT * вместе с текстами статей по несколько килобайт?

  8. Дмитрий Пушкин Ответить

    ну это ясно что можно по одному полю

  9. Андрей Кравчук Ответить

    Зачем делать два запроса (проверку и, собственно, вставку), если вполне можно обойтись только вставкой? Никогда нельзя забывать про оптимизацию.
    Цель алгоритма – вставить новую запись или сообщить о том, что такая уже имеется. Значит можно сделать вставку, и проверить кол-во вставленных строк. Если mysql_affected_rows возвращает 1, значит такой записи не было и была создана новая, если 0 – значит такая уже была и нужно выдать ошибку.

  10. Андрей Вольберг Ответить

    #9
    ну это ясно что можно по одному полю
    ——————
    Я номеру #7 это адресовал, не тебе. Чегой-то он вообще прогнал беса.

  11. Дмитрий Шумейко Ответить

    Давно не заходил, прочитал и по ржал, спс.
    P.S. О великие боги MySQL пошлите нам триггеры) http://habrahabr.ru/blogs/mysql/37693/

  12. Дмитрий Пушкин Ответить

    #10 пример можешь написать?

  13. Андрей Кравчук Ответить

    Нет. Если у тебя есть желание и хоть малейшие способности к программированию – напишешь сам, используя мануалы и гугл. А если не сможешь, бросай это дело и не выпрашивай на форумах, чтоб тебе все до последней запятой расписывали.

  14. Андрей Вольберг Ответить

    бросай это дело и не выпрашивай на форумах
    —————————

    Я вот одного не пойму, разве самим не неприятно выклянчивать элементарные (на 5 минут почитать) готовые решения, если и бросаемые кем-то добрым (по неопытности общения), то как бросают обглоданную кость в дорожную грязь для нищего (умом). При этом выступая в роли этакого поднимателя самооценки для форумного контингента, в стиле "я думал – я туповат, но по сравнению с ЭТИМ – я гений"?

    Я на всяк случай напрямую тонко намекну для ТС: Дима, это не твой вопрос такой сложный, что ты пять постов сам с собой разговаривал, это ты уже задрал всех до импотенции пальцев.

  15. Николай Хохлов Ответить

    Зачем проверять? моно поле изначально сделать "UNIQUE"

Ответить