Insert в таблицу

Тема в разделе "PHP", создана пользователем nazgard, 21 июл 2011.

Модераторы: latteo
  1. nazgard

    nazgard Постоялец

    Регистр.:
    20 июл 2009
    Сообщения:
    77
    Симпатии:
    5
    добрый день.
    у меня такой вопрос.
    есть форма. из формы передаются
    $phone = $_POST['phone'];
    $mail = $_POST['mail'];
    возможно ли передать в таблицу бд данные полученные из формы таким способом.

    у меня что-то не получается. либо я где-то косячу.

    $query = mysql_query("insert into table_name values(aes_encrypt(\"$phone\",'function_a'),aes_encrypt(\"$mail\",'function_a'));

    и второй вопрос.
    в базе есть тел.номера зашифрованные aes_encript() - ом. секретный ключ я знаю(function_a)
    как сравнить введеный пользователем номер телефона с тем, что хранится в базе в зашифрованном виде?
    пытаюсь так:
    mysql_query("select phone from table_name where phone = aes_decrypt('$phone','function_a') ");
     
  2. zavu

    zavu

    Регистр.:
    24 сен 2010
    Сообщения:
    180
    Симпатии:
    14
    в 1 попробуй так.
    PHP:
    $query "INSERT into table_name (phone, mail) VALUES (aes_encrypt('$phone','$key'),aes_encrypt('$mail','$key'))";
    $result mysql_query($query) or die(mysql_error());;
    зы, если ты привел свою копипасту, обрати внимание у тебя во втором энкрипте пробел:
     
  3. nazgard

    nazgard Постоялец

    Регистр.:
    20 июл 2009
    Сообщения:
    77
    Симпатии:
    5
    все равно никаких вставок не происходит.
    пишет Query was empty.
    вместо переменных ставлю констант. все равно
    Query was empty

    Добавлено через 50 минут
    с первой задачей я справился.
    просто два раза выполнял запрос
    $query = mysql_query("insert into test2.user_s values(null,aes_encrypt('$phone','$p_s'),aes_encrypt('$mail','$p_s'), default)");
    $res = mysql_query($query);

    со второй задачей пока никак
     
  4. NiXiN

    NiXiN Создатель

    Регистр.:
    17 июл 2011
    Сообщения:
    34
    Симпатии:
    9
    Дак зачем ты расшифровываешь телефон пришедший из формы? Его наоборот нужно зашифровать и сравнить с полем phone в базе.
    PHP:
    mysql_query("select phone from table_name where phone = aes_encrypt('$phone','function_a') ");
     
  5. nazgard

    nazgard Постоялец

    Регистр.:
    20 июл 2009
    Сообщения:
    77
    Симпатии:
    5
    res= mysql_query("select phone from test2.user_s where phone = aes_encrypt('$phone','$p_s') ");
    $num = mysql_num_rows($res);
    if($num >0){
    echo ("такой тел уже есть");

    }

    не могу понять.
    все время возвращает такой тел уже есть.
    даже если в таблице 0 записей
     
  6. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.037
    Симпатии:
    702
    ну дак проверь что у тебя выводит
    может там пустое место и будет у тебя
    ЗЫ учитесь дебажить то хоть чуть-чуть
     
  7. NiXiN

    NiXiN Создатель

    Регистр.:
    17 июл 2011
    Сообщения:
    34
    Симпатии:
    9
    Ну можно еще попробовать исправить так:
    PHP:
    $resmysql_query("select phone from test2.user_s where phone = aes_encrypt('".$phone."','".$p_s."') ");
    И посмотреть передалось ли вообще какое-то значение переменным $phone и $p_s