Отправить запрос в mysql AES_ENCRYPT+To_base64

Тема в разделе "Базы данных", создана пользователем silmarion, 12 май 2015.

Статус темы:
Закрыта.
Модераторы: latteo
  1. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    195
    Симпатии:
    19
    Всем привет, в общем уже полночи мучаю

    Надо в бд вставить такую вещь.
    insert into base (1,1,1,1,1,1) values ('1','1','1','1','1','AES_ENCRYPT(TO_BASE64('".$full."'),'".$key."'))',),'1','1','1');
    Примерно так
    Загнать длинное выражение в AES_ENCRYPT а затем в base64
    Явно что-то с пунктуацией, уже извращался как мог
     
  2. nejtr0n

    nejtr0n Постоялец

    Регистр.:
    24 янв 2014
    Сообщения:
    98
    Симпатии:
    40
    Попробуй так:
    echo "insert into base (1,1,1,1,1,1) values (1,1,1,1,1,AES_ENCRYPT(TO_BASE64('".$full."'),'".$key."'));";

    Только в твоем примере сначала баш идет, а потом аес.
     
    silmarion и stealthdebuger нравится это.
  3. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    624
    Симпатии:
    1.379
    Помимо ненужных одинарных кавычек, обрамляющих AES_ENCRYPT, проблема может заключаться еще и в используемой версии MySQL, в котором TO_BASE64 был введен лишь начиная с версий 5.6.х
    И, как верно подмечено, следуя логике, необходимо поменять местами TO_BASE64 и AES_ENCRYPT
     
    latteo и silmarion нравится это.
  4. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    195
    Симпатии:
    19
    Перенес сайт на vds, запрос перестал работать
    $sql_pp = mysqli_query($db_connect, "SELECT AES_DECRYPT(FROM_BASE64(`item`),'".$key."') as `item`

    На обычном бесплатном хостинге, и на локалке все работает нормально
     
  5. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.404
    Симпатии:
    1.185
    Объединил с предыдущей темой
    Если запрос не работает, то он ошибку должен возвращать. Прочитав текст этой ошибки вы скорее всего поймёте в чем проблема ;)
     
    Последнее редактирование: 26 май 2015
  6. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    195
    Симпатии:
    19
    Да, ответ подошел, но как и писал выше
    На обычном бесплатном хостинге, и на локалке все работает нормально
    а на VDS нет Centos 6.4 64 bit
    Думаю что проблема в настройках сервера, что нужно включить чтобы эта функция работала?
     
  7. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.404
    Симпатии:
    1.185
    PHP:
    SELECT version();
    #или
    SELECT @@version;
    что возвращает?
     
    silmarion нравится это.
  8. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    195
    Симпатии:
    19
    5.5.43

    на денвере (где работает) версия 5.5.25

    Странно, обновил сейчас до 5.6.14 и заработало, а почему на денвере на 5.5 работает?
    Не совсем правда заработало, но хотя бы вывело текст
    Как вывести номер ошибки Mysqli?
     
    Последнее редактирование: 26 май 2015
Статус темы:
Закрыта.